(VB.Net)ADO.NetでOLEDBのトランザクション
'接続型でDBにつなぐ
Dim cn As New OleDb.OleDbConnection
cn.ConnectionString = テーブルアダプタ.Connection.ConnectionString
'コネクションを開く
cn.Open()
'コマンドオブジェクト生成
Dim cmd As New OleDb.OleDbCommand()
cmd.Connection = cn
'------トランザクション開始-------
Dim trans As OleDb.OleDbTransaction = cn.BeginTransaction()
'コマンドオブジェクトにトランザクション関連付け
cmd.Transaction = trans
Try
Dim sql As String = "DELETE * FROM ZipCode"
cmd.CommandText = sql
cmd.ExecuteNonQuery()
'-------トランザクションコミット-------
trans.Commit()
Catch ex As Exception
'-------失敗時はロールバック-------
trans.Rollback()
Finally
'DB後処理
cn.Close()
End Try
MSDNによると、ADO.Netによるトランザクションの基本的流れは下記のようになるみたいです。
1.Connection オブジェクトの BeginTransaction メソッドを呼び出してTransactionオブジェクトを取得します。
2.Command の Transaction プロパティに Transaction オブジェクトを割り当てます。
3.Transaction オブジェクトの Commit メソッドを呼び出して、トランザクションを実行するか、または Rollback メソッドを呼び出してトランザクションをキャンセルします。
かなり簡単にできますね。