Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизКорректный выход из программы Найти похожие ветки
← →
Zhekson (2004-08-26 10:10) [0]Выход из программы и закрытие таблиц у меня осуществлено, а как быть с Alt+F4?
← →
Fynjy1984 © (2004-08-26 10:15) [1]2 Zhekson (26.08.04 10:10)
В чем проблема?
← →
Zhekson (2004-08-26 10:28) [2]не будут ли теряться данные, если перед выходом(по Alt+F4) из программы, таблицы останутся открытыми? В событиях onClose, onDestroy таблицы почему-то не закрываются...
← →
Fynjy1984 © (2004-08-26 10:32) [3]2Zhekson
в onClosequery тоже не закрываются?
← →
Zhekson (2004-08-26 10:36) [4]"Access violation at address 00000013" - вот такая вот ошибка и там и здесь.
← →
Fynjy1984 © (2004-08-26 10:39) [5]А в другом месте таблицы закрываются корректно?
← →
Anatoly Podgoretsky © (2004-08-26 10:47) [6]Чтобы не получать эту ошибку надо предварительно создавать обхекты
← →
data © (2004-08-26 11:08) [7]если в приложении есть главная форма, то можно написать обработчик с закрытием таблиц на ее FormClose
а еще лучше не работать с таблицами для редактирования данных, а менять данные исполняемыми запросами через ExecSql, используя транзакции, если это необходимо.
← →
Zhekson (2004-08-26 11:10) [8]to Fynjy1984 © (26.08.04 10:39) [5]
Anatoly Podgoretsky © (26.08.04 10:47) [6]
есть кнопочка(выход). её тело:
//-------------
DataModule2.Table1.Close;
DataModule2.Table2.Close;
Close;
//-------------
тут всё работает отлично. Не побоюсь сделать вывод, что объекты всё-таки есть.
← →
Sergey13 © (2004-08-26 11:11) [9]2[7] data © (26.08.04 11:08)
>а еще лучше не работать с таблицами для редактирования данных, а менять данные исполняемыми запросами через ExecSql
Обоснуй, плиз.
>, используя транзакции, если это необходимо.
Если они поддерживаются 8-)
← →
Zhekson (2004-08-26 11:15) [10]to data © - насчёт транзакций - мы это ещё не проходили, но зато теперь я знаю, что когда прижмёт можно в транзакциях правду поискать...
← →
Zhekson (2004-08-26 11:22) [11]to Anatoly Podgoretsky © (26.08.04 10:47) [6]
сорри...
ошибка вылетала в тех событиях, которые следуют за выгрузкой объектов...
to data © (26.08.04 11:08) [7], Fynjy1984 © (26.08.04 10:39) [5]
торможу... в OnClose всё закрывается отлично. спасибо.
← →
data © (2004-08-26 11:39) [12]Sergey13 © (26.08.04 11:11) [9]
попытаюсь:)
1.если в БД хранится изображение, то его можно редактировать только через Exec. А если оно хранится в одной таблице с другими данными, то получается неудобно
2.иногда данные, которые нужно отредактировать хранятся в разных таблицах. В таком случае проще сделать несколько Exec"ов, чем использовать таблицы или лив-Query. Тем более, что не каждый запрос может быть лив (есть ограничения по тексту запроса)
3.иногда данные нужно проверить на некую валидность перед занесением в БД, это проще сделать, при использовании Exec: взял данные с формы, проверил,при необходимости обругал или вызвал Exec, а если для занесения используется прямой Edit-Post, то гораздо сложнее обработка ИМХО.
4.Удобнее работать с транзакциями.
может чего забыла, но этого для меня достаточно.
← →
Sergey13 © (2004-08-26 12:11) [13]2[12] data © (26.08.04 11:39)
1.Но есть маленький минус. При выполнении Exec датасет не знает об этом и изменения юзер не увидит, пока не обновит этот датасет.
2.Если не брать всякие БЛОБы(не все же поля БЛОБы 8-), то настроив updateSQL получим выполнение тех же самых Exec-ов.
3.Валидность можно проверять и на бифоПост например.
4.Работа с транзакциями на несложные обновления одной таблицы (ну не каждый же раз сразу пол базы апдейтить 8-) так же не сложна.
Но самое важное 1. ИМХО.
ЗЫ: Лучше делать как лучше в данном случае. 8-)
← →
data © (2004-08-26 12:33) [14]Sergey13 ©
1. согласна. Но только при больших объемах данных в датасете. Маленький не проблема обновить.
2. А если текст запроса меняется (всякие фильтры, сортировки), то c UpdateSQL работать можно, или его перенастраивать нужно? Спрашиваю, потому что с ним не работала, просто интересно узнать
Лучше делать как лучше в данном случае. 8-)
точно:)
← →
Sergey13 © (2004-08-26 12:41) [15]2[14] data © (26.08.04 12:33)
1. А за много данных в датасете - по рукам. 8-)
>Маленький не проблема обновить
Типа много раз по разу - можно? 8-)
2. А зачем перенастраивать? Собственно в UpdateSQL пишется запрос на апдейт ОДНОЙ записи, т.е. where id=:id. Фильтры/сортировки по барабану.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c