BOOL BeginTrans ( );
戻り値
以外の場合は、呼び出しが成功したし、変更のみ手動でコミットされます。そうでなければ 0。
解説
接続されているデータ ソースでトランザクションを開始するにはこのメンバー関数を呼び出します。1 つまたは複数の呼び出し、 AddNew、編集、削除、および更新プログラムのメンバー関数のCRecordsetオブジェクトをトランザクションで構成されます。トランザクションを開始する前に、 CDatabaseオブジェクト既にデータ ソースにそのOpenExまたはOpenメンバー関数を呼び出すことによって接続されてがする必要があります。トランザクションを終了するには、データ ソースに対するすべての変更を受け入れるを実行するには、 CommitTransを呼び出すまたは全体のトランザクションを中止するには、ロールバックを呼び出します。すべてのレコード セットを開いた後呼び出しBeginTransがトランザクションに参加し、として、実際の近くに可能な限り更新操作。
注意特価;ODBC ドライバーによっては、 BeginTransを呼び出す前に、レコード セットを開く問題のロールバックを呼び出す場合があります。使用しているドライバーを確認する必要があります。たとえば、Microsoft ODBC デスクトップ ドライバー パック 3.0 に含まれている Microsoft Access ドライバを使用すると、開いているカーソルを持つ任意のデータベース上のトランザクションを開始するように、Jet データベース エンジンの要件のアカウントする必要があります。MFC データベース クラスでは、開いているカーソルを開いているCRecordsetオブジェクトを意味します。詳細についてを参照してください技術的なメモ 68(&N)。
BeginTransは、要求された同時実行と、データ ソースの機能によっては、サーバーにデータ レコードをロックすることもことがあります。データのロックについては、参照してください レコード セット: レコードのロック (ODBC)でVisual の C++ プログラマのガイド。
ユーザー定義のトランザクションの説明は、記事では、 トランザクション (ODBC)でVisual の C++ プログラマのガイド。
Begintrans をトランザクションのシーケンスことができますがロールバック状態(逆に)。ロールバックの新しい状態を確立するには、すべて現在のトランザクションをコミットし、もう一度BeginTransを呼び出します。
!警告特価;CommitTransまたはロールバックを呼び出さずにBeginTransを再度呼び出すとエラーになります(&N)。
あなたのドライバーが、特定のデータベースのトランザクションをサポートかどうかを確認するには、 CanTransactメンバー関数を呼び出します。またGetCursorCommitBehaviorとGetCursorRollbackBehaviorカーソル保全サポートを決定するを呼び出す必要があります。
トランザクションの詳細については、参照してください トランザクション (ODBC)でVisual の C++ プログラマのガイド。
例
参照してください トランザクション: レコード セット (ODBC) でのトランザクションの実行でVisual の C++ プログラマのガイド。
CDatabase 概要|nbsp;クラス メンバー |階層図(&N)
参照特価;CDatabase::CommitTrans、 CDatabase::Rollback、 CRecordset::CanTransact(&N)