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

Вниз

Как обновить данные после отмены транзакции   Найти похожие ветки 

 
byTural ©   (2003-08-10 14:49) [0]

Использую ADODataSet и ADOConnection.
При добавлении записи происходит след.

...
ADOConnection.BeginTrans;
//для записи на котором стоит курсор
ADODataSet.Edit;
ADODataSet.FieldByName("PLM_ADD_PAID").AsBoolean := True;
ADODataSet.Post;
...
//добавляю новую запись
ADODataSet.Last;
ADODataSet.Append;
...


При нажатии на кнопку сохранение

...
ADODataSet.Post;
ADOConnection.CommitTrans;
...


Но при отмене

ADODataSet.Cancel;
ADOConnection.RollbackTrans;


Grid показывает что поле "PLM_ADD_PAID" True хотя после обновления она становится False
Пока что при каждом таком случае сразу после RollbackTrans запускаю процедуру обновления но помоему это не совсем правильно. А когда кол-во записей будет много.
Уважаемые мастера, подскажите пожалуйста если какое-нибудь свойство или метод у этих компонент кот. сама сразу обновит данные только для одной строки.

P.S. SELECT-ом идет выборка сразу из двух таблиц.


 
AkaSaint ©   (2003-08-11 23:20) [1]

Чтобы обновить одну запись, используй метод ADODataSet.Recordset.Resync (см. MSDN, как с ним работать). И еще, хочу сказать, что транзакции должны быть как можно более короткими по времени, т.к. они съедают ресурсы и в большей или меньшей степени мешают другим пользователям. Насколько я знаю, никогда не делаются транзакции, ждущие для своего завершения нажатия кнопки пользователем.



Страницы: 1 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
6-10866
SPeller
2003-06-29 07:08
2003.09.04
GetHostByName или


1-10807
BuTyc
2003-08-22 06:43
2003.09.04
Drag&Drop не цепляясь за шапку окна.


14-10918
SergP
2003-08-17 20:32
2003.09.04
Как увеличить макс. кол-во соединений Эксплорера.


1-10791
Просто гость
2003-08-22 20:29
2003.09.04
Дескриптор окна


1-10715
Jao
2003-08-15 17:41
2003.09.04
как программно добавить комментарий в xmldocument?