VB.NETからエクセルファイルを操作したいのですが、OleDBを用いて
select fromのSQLコマンドとfillメソッドを使って読み込むところまではうまくいったのですが、
読み込んだデータを編集して元のファイルを更新したりすることがうまくできません。
Dim oCommand As New OleDb.OleDbCommand()
Dim oDataAdapter As New OleDb.OleDbDataAdapter()
oCommand.CommandText = "INSERT INTO [" + strSheetname + _
"$](名前,Property1,Property2,Property3) VALUES(1,'aa','A','B','D')"
oDataAdapter.InsertCommand = oCommand
oDataAdapter.InsertCommand.ExecuteNonQuery()
というようにしてやってみたのですがクエリの値と出力するフィールドの数が一致しない、というエラーメッセージが出てきてしまいます。
このような場合どのようにしたらよいのでしょうか?
SQL関連のコマンドはネットでそれなりに調べてみたのですがそれがどうやってVBから扱えばいいのか分からず
過去ログにも該当するようなことはみつからなかったので質問させていただきました。
もしよろしければお教えください、よろしくお願いいたします。
INSERTコマンドの内容がおかしくありませんか?
(名前,Property1,Property2,Property3) VALUES(1,'aa','A','B','D')
のところの「1」はどのフィールドに入れるのですか?
フィールド数とデータ数の数が一致していないため、
「フィールドの数が一致しない」というエラーメッセージが出てくるのではないでしょうか?
ツイート | ![]() |