1

エラーが発生した場合、データベースの変更をロールバックするように依頼されました。

COMMIT または ROLLBACK で TRANSACTION を使用しようとする前に、MS Access で次のことができるかどうか教えてもらえますか?

void Start() {
  try {
    AccessDatabaseOpen(); // Opens the access database
    foreach (File in FileList) {
      AccessTransactionStart(); // Starts the Transaction
      AccessWriteSectionDataFromFile();
      AccessWriteEmployeeDataFromFile();
      AccessWriteSomethingElseFromFile();
    } // go to next File in FileList
    AccessTransactionCommit();
  } catch {
    AccessTransactionRollback();
  } finally {
    AccessDatabaseClose();
  }
}

構文はくだらないですが、要点を理解する必要があります: コード内のルーチンは、トランザクションを開始し、他のいくつかのルーチンを呼び出し、全体をコミットまたはロールバックできますか? それとも、このアイデアは信じられますか?

ありがとう、ジョー

4

1 に答える 1

1

コード内のルーチンは、トランザクションを開始し、他のいくつかのルーチンを呼び出し、全体をコミットまたはロールバックできますか

はい、これはトランザクション処理の基本的な考え方であり、概説した例は、コードからそれらを処理するための標準的なアプローチになります。詳細は、特定の状況/ニーズ、およびもちろん使用されるデータベース システム (ネストされたトランザクション、スコープ、同時実行処理など) によって異なります。

データベース抽象化レイヤーが関係している場合は、その詳細を確認してください。多くの場合、いくつかの設定/パラメーターによって構成できる暗黙のトランザクション処理が付属しているためです。

于 2009-08-31T15:26:26.893 に答える