![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid и Access. Не обновляет [D7, Access]
k0ks © (2009-12-10 18:23:00)Решил попробовать связать Delphi и Access (ADOConnection, ADOQuery, DATASource, DBGrid). Почему после добавления данных через Query (INSERT INTO USERS (NAME) VALUES (:PNAME);) в DBGrid они не появляются? Для обновленя ADOQuery1 (SELECT FROM USERS) пробовал ADOQuery1.close\open, ADOQuery.Active:=false\true. Но результата это не дало. Получилось только с использованием таймера на 4 секунды (3 уже не обновляет), что очень не удобно. Причем когда связывал с базой SQL все отлично обновлялось сразу же
k0ks (2009-12-10 19:08:00) [21]procedure TForm1.BitBtn2Click(Sender: TObject);
begin
DM.ADOConnection1.BeginTrans; // начать транзакцию
ADOQuery2.Parameters.ParamByName('PName').Value:=Edit1.Text;
ADOQuery2.Parameters.ParamByName('PDol').Value:=Combobox1.Text;
ADOQuery2.Parameters.ParamByName('PSector').Value:=Combobox2.Text;
try
ADOQuery2.ExecSQL;
except
ShowMessage('Ошибка при добавлении данных!,'+#13+
'Попробуйте еще раз!');
{откатываем изменение}
DM.ADOConnection1.RollbackTrans;
exit;
end;
DM.ADOConnection1.CommitTrans;
ADOTable1.Active:=false;
ADOTable1.Active:=true;
Timer1.Interval := 4000;
Timer1.Enabled := True;
end;
sniknik (2009-12-10 19:04:00) [22]лучше фрагмент (план?) использования ADOConnection ...
т.к.
> Получилось только с использованием таймера на 4 секунды
выглядит так что он у всех (вставляющего и читающего) компонентов разный.
и... сколько можно повторять не пользуйтесь ADOQuery... блин, есть же родные для идеологии ADO ADOCommand и ADODataSet.
clickmaker (2009-12-10 18:57:00) [23]фрагмент кода от добавления до переоткрытия?