タイトル : ADOによるExcel操作でのトランザクション 投稿日 : 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'が挿入されない結果が得られると思ったのですが、入ってしまってます。 いろいろと調べてみたのですが、明確な答えにたどり着けておりません。 参考情報等でもよいので、教えていただければと思っております。 よろしくお願い致します。 |