Я использую Delphi 2010 с FIB Components
как TpFIBDataset
, TpFIBTransaction
TpFIBDataset
и с Firebird
базой данных.Откат транзакции не работает с TpFIB компонентами
Я уже присвоил свойству «AutoCommit» свойство TpFIBDataset «False», а затем, когда я выполняю инструкцию ниже в блоке try..finally
и откатывает транзакционные данные, все еще публикуются.
Код:
FIBDataset.Post;
Ниже приведен пример кода.
Код:
try
FIBDatabase.StartTransaction;
....
Block of Code;
...
finally
if saveALL then
FIBDatabase.CommitRetaining
else
FIBDatabase.RollbackRetaining;
end;
Почему вы делаете «... сохраняя»? почему вы не закрываете транзакцию? –
также я думаю, что «StartTransaction» должен идти до TRY, если в этом вызове будет исключение * внутри *, но до того, как начнется реальная транзакция в Firebird –
ForceCloseTransactions не отображает данные в сетке. Если .Close называется, я получаю индекс списка ошибок из привязанного. –