Data.SqlExpr.TSQLConnection.BeginTransaction

提供:RAD Studio API Documentation

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 パラメータを設定することにより指定することができます。

関連項目