Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Корректный выход из программы   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.04 c
1-1094633769
Jay
2004-09-08 12:56
2004.09.26
MainMenu


14-1094741972
X9
2004-09-09 18:59
2004.09.26
Философия


6-1088926619
Kosmach
2004-07-04 11:36
2004.09.26
WebBrowser.OnNewWindow


11-1080824008
Дас Виндовс 45
2004-04-01 16:53
2004.09.26
CopyFrom


3-1093618349
ceval
2004-08-27 18:52
2004.09.26
Нужно поле mr вывести в DBText