Data.SqlExpr.TSQLConnection.RollbackIncompleteFreeAndNil
Delphi
procedure RollbackIncompleteFreeAndNil(var Transaction: TDBXTransaction);
C++
void __fastcall RollbackIncompleteFreeAndNil(Data::Dbxcommon::TDBXTransaction* &Transaction);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | TSQLConnection |
説明
指定したトランザクションに対する更新,挿入,および削除を取り消し,そのトランザクションを終了します。
RollbackIncompleteFreeAndNil を呼び出すと,Transaction パラメータで示されたトランザクションで行われたすべての変更を取り消し,そのトランザクションを終了できます。 Transaction は,トランザクションの開始時に BeginTransaction から返される TDBXTransaction です。
指定したトランザクションが唯一の現在のトランザクションである場合,RollbackFreeAndNil メソッドは,トランザクションをキャンセルした後で InTransaction プロパティを false に設定します。
このトランザクションの後に開始されたアクティブなトランザクションは実質的にロールバックされ,解放されます。
変数 Transaction は,nil に設定されます。
RollbackFreeAndNil 手続きとは異なり,この手続きは,Transaction が無効か,nil に設定されていても,例外を送出しません。このメソッドは,finally(または except)ブロックで使用することをお勧めします。try ブロックでは,CommitFreeAndNil または RollbackFreeAndNil のいずれかを使用します。Transaction はすでに完了して解放され,nil に設定されています。try ブロックで例外が生成されない場合は,Transaction インスタンスが無効になっているため,finally で RollbackIncompleteFreeAndNil を呼び出しても何も行われません。例外が生成された場合は,finally ブロックで RollbackIncompleteFreeAndNil を呼び出すと,Transaction インスタンスがロールバックおよび解放され,nil に設定されます。