![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обновление набора данных! [D6, MSACCESS]
kingdom2000 © (2003-05-11 22:00:00)Привет мастаки! Помогите, кто может. Работаю с базой MSACCESS через ADO.
Выполняю следующее:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("UPDATE …");//обновление группы записей в ADOTable1
ADOQuery1.ExecSQL;
ADOQuery1.Close;
ADOTable1.Refresh;
Все работает отлично кроме ADOTable1.Refresh т.к. изменения происходят, но DBGrid1 не отображает изменение в измененных записях, а отображает старые данные. Обновление можно просмотреть только после закрытия таблицы и повторного открытия (ADOTable1.Close; ADOTable1.Open;).
Подскажите, какая команда заставляет принять изменения и отобразить их в DBGrid1.
ЮЮ (2003-05-13 03:08:00) [1]Так и быть. А ты чего хотел? Не откроешь - не увидишь :-)
Если пользователь один, то вносить изменения непосредственно в ADOTable1. Если больше - то без переоткрытия запроса (пусть он и называется Table) изменения внесенные другим увидеть невозможно.
kingdom2000 (2003-05-12 17:39:00) [2]>Erik Ivanov
так как быть?
Erik Ivanov (2003-05-12 15:27:00) [3]Hi-hi а ты знаеш что делает Requery? Это неявное выполнение SQL и переоткрытие таблицы.
kingdom2000 (2003-05-11 23:57:00) [4]Огромное спасибо всем участникам ответ ADOTable1.Requery
Tolik_tmp (2003-05-11 23:02:00) [5]Скорее,
AdoTable1.Close; AdoTable1.Open;
Pat (2003-05-11 22:28:00) [6]Если коннет идет через ADOConnection, то попробуй вместо ADOTable1.Refresh сделать так:
ADOConnection.close;
ADOTable1.Open