トランザクションの制御

アプリケーションでは、トランザクションの開始時と終了時を指定することによってトランザクションが制御されます。トランザクションは、次のものを使用して制御します。

  • Visual Studio で実行する SQL ステートメント

  • データベース API 関数の ADO.NET と OLE DB

重要   各トランザクションは、API のいずれかのみを使用して管理できます。同じトランザクションで両方の API を使用すると、一定の結果は得られない場合があります。

アプリケーションは、トランザクションが完了する前に終了すると発生するエラーを正しく処理できる必要があります。

SQL ステートメントの使用

トランザクションは、SQL ステートメントを使用して、開始および終了できます。

トランザクションの開始

Microsoft SQL Server Compact データベース エンジンでは、トランザクションを明示的に、または自動コミットとして開始できます。

  • 明示的なトランザクション

    BEGIN TRANSACTION ステートメントを実行してトランザクションを明示的に開始します。

  • 自動コミット トランザクション

    SQL Server Compact の既定のモードです。自動コミット トランザクションは、操作ステートメントの開始時に開始され、ステートメントの終了時にコミットされます。

トランザクションの終了

COMMIT ステートメントまたは ROLLBACK ステートメントを使用して、トランザクションを終了できます。

  • COMMIT

    COMMIT ステートメントは、トランザクションのすべての変更をデータベースの不変の部分として組み込みます。COMMIT ステートメントを使用すると、トランザクションによって使用されるロックなどのリソースも解放されます。

  • ROLLBACK

    トランザクションでエラーが発生した場合やユーザーがトランザクションを取り消す場合は、ROLLBACK ステートメントを使用してトランザクションをロールバックします。ROLLBACK ステートメントは、データをトランザクションの開始時の状態に戻すことにより、トランザクションで行われた変更をすべて元に戻します。ROLLBACK ステートメントを使用すると、トランザクションによって保持されていたリソースも解放されます。

API の使用

OLE DB や ADO.NET などのデータベース API には、トランザクションを記述するために使用する関数またはメソッドがあります。これらは、SQL Server Compact アプリケーションでトランザクションを制御するために使用される主要なメカニズムです。詳細については、「ネイティブ プログラミング リファレンス (SQL Server Compact)」および「OLE DB を使用してトランザクションを使用する方法 (プログラム)」を参照してください。

関連項目

概念

トランザクション (SQL Server Compact)

その他の技術情報

SQL リファレンス (SQL Server Compact)