タイトル | : ADOによるExcel操作でのトランザクション |
記事No | : 7860 |
投稿日 | : 2008/07/25(Fri) 19:42 |
投稿者 | : モウリーニョ |
お世話になります。
現在、VB2005にて、ADOを用いてローカルのExcelファイルにデータを出力する処理を行っています。 その処理において、トランザクションにて管理したいと思っているのですが、 どうもうまく動いてくれません。(エラーは出ないが、Insertが行われている。)
コードは下記のようになります。
Dim con As New OleDbConnection Dim cmd As New OleDbCommand Dim tra As OleDbTransaction
Dim filePath As String = "C:\TEST.xls"
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + _ "Data Source=" + filePath + ";" + __ "Extended Properties=""Excel 8.0;HDR=YES;"""
con.Open() tra = con.BeginTransaction() cmd.Connection = con cmd.Transaction = tra
cmd.CommandText = "INSERT INTO [sheet1$] VALUES('TEST', 'ETC')
cmd.ExecuteNonQuery()
tra.Rollback()
con.Close()
上記ソースでは、'TEST'と'ETC'が挿入されない結果が得られると思ったのですが、入ってしまってます。
いろいろと調べてみたのですが、明確な答えにたどり着けておりません。 参考情報等でもよいので、教えていただければと思っております。
よろしくお願い致します。
|