タイトル | : トランザクション |
記事No | : 7898 |
投稿日 | : 2008/08/01(Fri) 10:33 |
投稿者 | : はれ |
トランザクション実装方法の質問です。
MSDNには ADO.NET では、Connection オブジェクトを使用してトランザクションを制御します。 と書かれていることから
cn.open myTran = cnt.BeginTransaction(IsolationLevel.ReadCommitted)
DO Until XXX
ここでテーブルの更新を行っています。 da = New OleDbDataAdapter(StrSQL, cn)’ここでデータアダプタは常に初期化されています。 da.SelectCommand.Transaction = myTran da.Fill(ds, "MyTable") 「データ内容調査を実行 更新 新規 データ値など」で処理分岐
cmdBuil.DataAdapter = da da.InsertCommand = cmdBuil.GetInsertCommand da.InsertCommand.Transaction = myTran da.Update(ds, "MyTable") や、インサート デリート の処理実行。
Loop myTran.Commit cn.close
と書いています。 ここで疑問なのですが、 da(データアダプタ)がたまたま消え残っているのでうまくトランザクションが実装できているのか、 MSDNの記述どおり、トランザクションはコネクションが管理しているから うまくいっているのか?がイマイチわかりません。 ご教授下さい。
|