![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по ADO и компонентам БД [D7, XP]
WorkWork © (2011-09-11 20:57:00)Привет всем! нужна помощь! вообщем пишу прогу, которая подключается к базе через ADOConnection, с ним связан ADOQuery. На форме есть ДБ грид и пару ДБ едитов. Вообщем если изменять данные в ДБ эдите, то они не всегда сохраняются, например если я изменил и закрыл прогу, то они не сохранятся, а если я изменю и в гриде пощелкую вверх или вниз, то они сохранятся.
Как сделать так, чтобы они всегда сохранялись?
lesstab (2011-09-14 13:23:00) [1]А я пишу в OnDataChange событии DataSource компоненты фильтрацию записей соответствующих таблиц.
Inovet (2011-09-13 22:44:00) [2]> [5] WorkWork (12.09.11 04:35)
> State=dsEdit
Ещё dsInsert надо проверить.
Dennis I. Komarov (2011-09-13 21:23:00) [3]Выкинь грид и подумай над интерфейсом...
Евгений07 (2011-09-12 10:40:00) [4]Dataset->Post сохраняет данные в кэш и не во всех Дельфях физически в базу записывает.
Смотри Рефреш или Репайнт
sniknik (2011-09-12 09:59:00) [5]> неполучается.
не в том месте смотришь? State должен показывать правильно.
WorkWork (2011-09-12 04:35:00) [6]Вообщем вопрос сводится к тому, как проверить, что набор данных находится в режиме редактирования? Пробывал
if ADOQuery.CanModify then
...
if ADOQuery.State=dsEdit then
...
неполучается.
WorkWork (2011-09-12 04:20:00) [7]Привет! у меня еще проблемка! Вообщем структура программы такая-же, плюс:
В 1-м ДБ гриде выделяется какая-то запись и в остальных ДБ компонентах отображаются данные по этой записи, помимо этого есть еще один ДБ грид, в котором отображается таблица по этой-же записи, которая в самой базе хранится в отдельной таблице.
Подскажите как лучше синхронизировать изменения во 2 гриде. Пробую делать ЕДИТ, ПОСТ, но в итоге получаются сплошные лаги. Например если я буду изменять данные во 2 гриде и перейду на другую запись в 1-м гриде, то они не всегда сохранятся. Неужели нет какого-то простого метода?
WorkWork (2011-09-11 21:39:00) [8]Спасибо! зделаю Edit, Post.
Dennis I. Komarov (2011-09-11 21:35:00) [9]
with TDBEditForm.Create(... do try
if ShowModal = mrOk then begin
.....
Post;
end;
finally
Free;
end;
Inovet (2011-09-11 21:27:00) [10]В FormClose сделай Dataset->Post