# BeginTrans

マニュアル > コントロールリファレンス > その他 > リモートクエリーデータベースコントロール > メソッド > # BeginTrans |

| トランザクション処理を開始します。 構文 BeginTrans() 戻り値
| 型： | ブール
| FALSE - 失敗。TRUE - 成功。
解説
ExecuteSQLを複数回呼び出す場合、すべてのExecuteSQLが成功したことを確認してから処理を確定したい場合、トランザクション処理を行います。 トランザクション処理を開始する場合、BeginTransを呼び出します。その後ExecuteSQLの呼び出しを必要な回数だけ呼び出し、最後にCommitTransを呼び出します。 トランザクション全体を中止する場合は、Rollback を呼び出します。 CommitTrans または Rollback を呼び出さずに BeginTrans を再び呼び出すとエラーになります。 トランザクション処理を行いたい場合は、Connect (DSN, DataBase, User, Password)で接続してください。 Connect (ActionName)で接続する場合、複数のクライアントが１つのコネクションを共有するため、トランザクション処理がうまく動作しない場合があります。
例
    if (this.BeginTrans() == F) 		// トランザクション処理の開始
    {
     ::OpenMsg(this.GetLastError());
     this.DisConnect();
     return;
    }

    if (this.ExecuteSQL("xxx") == F)	// 1回目の処理
    {
     ::OpenMsg(this.GetLastError());
     this.Rollback();		// 途中で失敗した場合、トランザクションを中止
     return;
    }

    if (this.ExecuteSQL("xxx") == F) 	// 2回目の処理
    {
     ::OpenMsg(this.GetLastError());
     this.Rollback();		// 途中で失敗した場合、トランザクションを中止
     return;
    }

    if (this.CommitTrans() == F)		// 処理の確定
    {
     ::OpenMsg(this.GetLastError());
     return;
    }
参照 Connect DisConnect ExecuteSQL QuerySQL BeginTrans CommitTrans Rollback SetQueryTimeout GetLastError