トランザクションの制御
アプリケーションでは、トランザクションの開始時と終了時を指定することによってトランザクションが制御されます。トランザクションは、次のものを使用して制御します。
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 を使用してトランザクションを使用する方法 (プログラム)」を参照してください。