またまたお世話になります。
エクセルシートのデータん更新で悩んでおります。
エクセルシートには以下の列が有ります。
No
X1
Y1
以下のようなコードで書き込みができないかなと試行錯誤しています。
OleDbConnection dce = new OleDbConnection();
DataSet dse = new DataSet();
OleDbDataAdapter dae;
dce.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
~.xls;Extended Properties=Excel 8.0;;
dce.Open();
dae = new OleDbDataAdapter(select * from [Sheet1$], dce);
dae.FillSchema(dse, SchemaType.Source, [Sheet1$]);
dae.Fill(dse, Sheet1$);
OleDbCommand dd = new OleDbCommand(
UPDATE [Sheet1$] SET X1=@X1,Y1=@Y1 WHERE No=@NO, dce);
dd.Parameters.Add(X1, OleDbType.Char).Value = 999;
dd.Parameters.Add(Y1, OleDbType.Char).Value = 888;
dd.Parameters.Add(NO, OleDbType.Char).Value = 3;
dd.ExecuteNonQuery();
実行自体はすんなり通っているようですが、ファイルにほうには反映されておりません。
どなたか問題点、改善項目についてご教示いただけませんでしょうか。
よろしくお願いします。
自己レスですが。
SQL文のフィールド名を[]で囲むようにしたところ、ファイルへの書き込みができまし
た。お騒がせしましたm(__)m。