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

Вниз

Неявно стартуемые транзакции   Найти похожие ветки 

 
Hermit   (2001-12-05 11:38) [0]

Никак немогу разобраться с субжем.
Имею Query, свойства которого CachedUpdates и RequestLive установлены в True и на события AfterDelete и AfterPost навешена процедура UpdateTable, приведенная ниже.

procedure TDataMod.UpdateTable(DataSet: TDataSet);
begin
with DataSet as TDBDataSet do
begin
Database.StartTransaction;
try
ApplyUpdates;
Database.Commit;
except
Database.Rollback;
CancelUpdates;
raise;
end;
CommitUpdates;
end;
end;

Все это прекрасно работает, но после перевода Query в режим редактирования и последующем вызове ApplyUpdates появляется ошибка "A user transaction is already in progress".
Очевидно, что при вызове Query.Edit неявно стартует транзакция, но почему при вызове Query.Insert и последующем подтверждении изменений такой ошибке не возникает?


 
User_OKA   (2001-12-05 14:33) [1]

А если перед Database.StartTransaction проверять свойство InTransaction?
Например,
if not TIBTransaction.InTransaction then Database.StartTransaction;
Если неявная транзакция пошла, то StartTransaction выполняться не будет.



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

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

Наверх




Память: 0.46 MB
Время: 0.014 c
6-22277
prosof
2001-10-02 10:21
2002.01.08
Определение траффика каждого корреспондента сети по IP.


1-22063
Art
2001-12-18 15:12
2002.01.08
А можно заблокировать доступ к папке,что-то типа fmShareExclusive ,но для папки???


3-21905
nic406
2001-11-28 04:21
2002.01.08
Help! Делаю Select * From T1 -> refresh -> ошибка(ADODataSet)


1-22157
Flagman
2001-12-20 13:55
2002.01.08
Найти два возврата каретки подряд.


14-22369
Victor Tsay
2001-11-08 09:11
2002.01.08
Как в редакторе Делфи смещать блоки текста?