Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1094822942
denis24
2004-09-10 17:29
2004.09.26
Скролинг в listview


8-1088750197
maxistent
2004-07-02 10:36
2004.09.26
Поворот битмапа по/против часовой стрлк


3-1093604207
Dima
2004-08-27 14:56
2004.09.26
проблема с dbExpress и Oracle


9-1086032491
Vin_Ghost
2004-05-31 23:41
2004.09.26
DelphiX Game: спрайтовое окно


1-1094586229
Marina
2004-09-07 23:43
2004.09.26
Какой модуль нужно подключить для функции VarType





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский