「ほっ」と。キャンペーン
(VB.Net)ADO.NetでOLEDBのトランザクション
ADO.Netでトランザクションするコードです。

'接続型で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 メソッドを呼び出してトランザクションをキャンセルします。

かなり簡単にできますね。

参考:ADO.NET によるトランザクションの実行
[PR]
by jehoshaphat | 2008-12-16 00:00 | .Net開発 | Trackback | Comments(0)
トラックバックURL : http://jehupc.exblog.jp/tb/9216997
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。


<< (.Net)Control.R... (SQL)顧客毎に日別で売上回... >>