Data.SqlExpr.TSQLConnection.BeginTransaction
Delphi
function BeginTransaction: TDBXTransaction; overload;
function BeginTransaction(Isolation: TDBXIsolation): TDBXTransaction; overload;
C++
Data::Dbxcommon::TDBXTransaction* __fastcall BeginTransaction()/* overload */;
Data::Dbxcommon::TDBXTransaction* __fastcall BeginTransaction(Data::Dbxcommon::TDBXIsolation Isolation)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Data.SqlExpr.pas Data.SqlExpr.hpp |
Data.SqlExpr | TSQLConnection |
説明
関連付けられたデータベース内で新しいトランザクションを開始します。
BeginTransaction を呼び出すと、トランザクションをサポートしているデータベース サーバーに対して、新しいトランザクションを開始することができます。 (MySQL サーバーはトランザクションをサポートしてはいますが、1 つの接続で複数のトランザクションを使うことはできません。) TransactionsSupported プロパティを見ると、サーバーがトランザクションをサポートしているかどうかを判断することができます。 サーバーがトランザクションをサポートしていない場合、BeginTransaction は何も処理を行いません。
このメソッドは TDBXTransaction インスタンスを返します。
トランザクションが正常に開始できると、BeginTransaction は InTransaction プロパティを True に設定します。
BeginTransaction を呼び出した後に行われた更新や挿入や削除は、オーバーラップする別のトランザクションが開始するか、アプリケーションが CommitFreeAndNil を呼び出して変更を保存する、または RollbackFreeAndNil を呼び出して変更をキャンセルするまで、トランザクション内に保管されます。
ヒント: サーバーが複数トランザクションをサポートしていない場合には、InTransaction プロパティのステータスを見て、進行中のトランザクションが他にないことを確認してください。
ヒント: オーバーラップしたトランザクションを扱っている場合には、同じテーブル上で動作している際に、同時発生したトランザクションがどのようにやり取りするかを、TSQLConnection の
IsolationLevel
パラメータを設定することにより指定することができます。