這段代碼有什麼問題嗎?
有時候,我在裏面得到一個未處理的「無效的事務對象」異常:爲什麼有時我會遇到「無效的事務對象」異常?
procedure BlaBla;
var
TD: TDBXTransaction;
begin
TD := SQLConnection.BeginTransaction;
try
SQLConnection.ExecuteDirect('some sql command');
SQLConnection.ExecuteDirect('some sql command');
SQLConnection.CommitFreeAndNil(TD);
except
SQLConnection.RollbackFreeAndNil(TD);
end;
end;
此異常被提升到用戶,所以我認爲它是由RollbackFreeAndNil提出,因爲所有剩下的就是try..except內。
我應該用另一個try..except包裝RollbackFreeAndNil嗎?真是一團糟。
我正在使用Delphi 2009,DBX與Firebird 2.1和Devart的驅動程序。
當重擲時,您可以使用新的內部異常功能,如CodeRage III上的Jim McKeeth所示。 – Vegar 2009-01-07 14:21:03