ADO.NET では、Connection オブジェクトを使用してトランザクションを制御します。ローカル トランザクションは、BeginTransaction メソッドを使用して開始できます。トランザクションを開始すると、Command オブジェクトの Transaction プロパティを使用して、そのトランザクションにコマンドを参加させることができます。次に、トランザクションの内容が成功したか失敗したかに基づいて、データ ソースに対する変更をコミットまたはロールバックします。
メモ : |
|---|
|
EnlistDistributedTransaction メソッドをローカル トランザクションで使用することはできません。
|
トランザクションのスコープは、接続に限定されています。次の例では、try ブロック内の 2 つの個別のコマンドで構成される明示的なトランザクションを実行しています。これらのコマンドは、SQL Server 2005 の AdventureWorks サンプル データベース内の Production.ScrapReason テーブルに対して INSERT ステートメントを実行し、例外がスローされない場合にコミットします。catch ブロック内のコードは、例外がスローされた場合にトランザクションをロールバックします。トランザクションが完了する前に中止されるか接続が終了すると、トランザクションは自動的にロールバックされます。