これらのトランザクション メソッドは、 Connection オブジェクト内のトランザクション処理を次のように管理します。
BeginTrans 新しいトランザクションを開始します。
CommitTrans 変更を保存し、現在のトランザクションを終了します。 また、新しいトランザクションを開始することもできます。
RollbackTrans 現在のトランザクション中に行われた変更を取り消し、トランザクションを終了します。 また、新しいトランザクションを開始することもできます。
構文
level = object.BeginTrans()
object.BeginTrans
object.CommitTrans
object.RollbackTrans
戻り値
BeginTrans は、トランザクションの入れ子レベルを示す Long 変数を返す関数として呼び出すことができます。
パラメーター
オブジェクト
Connection オブジェクト。
接続
ソース データに対して行われた一連の変更を 1 つの単位として保存またはキャンセルする場合は、Connection オブジェクトでこれらのメソッドを使用します。 たとえば、口座間で送金するには、一方から金額を減算し、同じ金額を他方に加算します。 いずれかの更新が失敗した場合、アカウントの残高はなくなります。 開いているトランザクション内でこれらの変更を行う場合、変更のすべてまたはまったく反映されないようにします。
注
すべてのプロバイダーがトランザクションをサポートしているわけではありません。 Connection オブジェクトの Properties コレクションに、プロバイダー定義プロパティ "Transaction DDL" が表示されていることを確認します。これは、プロバイダーがトランザクションをサポートしていることを示します。 プロバイダーがトランザクションをサポートしていない場合、これらのメソッドのいずれかを呼び出すとエラーが返されます。
BeginTrans メソッドを呼び出した後、CommitTrans または RollbackTrans を呼び出してトランザクションを終了するまで、プロバイダーは変更を即座にコミットしなくなります。
入れ子になったトランザクションをサポートするプロバイダーの場合は、開いているトランザクション内で BeginTrans メソッドを呼び出すと、入れ子になった新しいトランザクションが開始されます。 戻り値は入れ子のレベルを示します。戻り値 "1" は、最上位レベルのトランザクションを開いた (つまり、トランザクションが別のトランザクション内で入れ子になっていない) ことを示します。"2" は、第 2 レベルのトランザクション (最上位レベルのトランザクション内で入れ子になったトランザクション) を開いたことを示します。 CommitTrans または rollbackTrans 呼び出すと、最後に開かれたトランザクションにのみ影響します。上位レベルのトランザクションを解決する前に、現在のトランザクションを閉じるかロールバックする必要があります。
CommitTrans メソッドを呼び出すと、接続で開いているトランザクション内で行われた変更が保存され、トランザクションが終了します。 RollbackTrans メソッドを呼び出すと、開いているトランザクション内で行われた変更が元に戻され、トランザクションが終了します。 開いているトランザクションがない場合にいずれかのメソッドを呼び出すと、エラーが生成されます。
Connection オブジェクトの Attributes プロパティに応じて、CommitTrans メソッドまたは RollbackTrans メソッドを呼び出すと、新しいトランザクションが自動的に開始される場合があります。 Attributes プロパティが adXactCommitRetaining に設定されている場合、CommitTrans 呼び出しの後、プロバイダーは自動的に新しいトランザクションを開始します。 Attributes プロパティが adXactAbortRetainingに設定されている場合、RollbackTrans 呼び出しの後に、プロバイダーは自動的に新しいトランザクションを開始します。
リモート データ サービス
BeginTrans、CommitTrans、および RollbackTrans メソッドは、クライアント側の Connection オブジェクトでは使用できません。
適用対象
こちらもご覧ください
BeginTrans、CommitTrans、RollbackTrans メソッドの使用例 (VB)
BeginTrans、CommitTrans、RollbackTrans の各メソッドの使用例 (VC++)
Attributes プロパティ (ADO)