※ ChatGPTを利用し、要約された質問です(原文:C#でAccess2003データ更新時に発生するのエラーの内容がわからなくて困っています。)
C#でAccess2003データ更新時に発生するエラーの内容がわかりません
このQ&Aのポイント
C#でAccess2003データ更新時に発生するエラーの内容がわからなくて困っています。データベースの読込み、変更、更新はできるのですが、一部のフィールド名に付いているキーワードと同じ名前の場合にエラーが発生します。フィールド名を変更することができないため、エラーを回避する方法を教えてください。
C#でAccess2003データ更新時に発生するエラーの内容がわかりません。特定のフィールド名について、キーワードと同じ名前が付いているためにエラーが発生しています。フィールド名を変更することはできないため、どのようにエラーを回避できるかご教授ください。
C#でAccess2003データ更新時に発生するエラーの内容がわからなくて困っています。特定のフィールド名にキーワードと同じ名前が付いているためにエラーが発生します。フィールド名を変更することはできないため、どのようにエラーを解決できるかアドバイスをいただきたいです。
C#でAccess2003データ更新時に発生するのエラーの内容がわからなくて困っています。
お世話になります。
とある工場で使用されているデータベースの内容をC#で変更、更新を
するプログラム改造を手がけています。データベースはAccess2003で
作成されていて、データベースの読込み、変更、更新はできるのですが、
一部のフィールド名に "DateTime" 、"String" と名前がつけられている箇所があり、この部分については"UPDATEステートメントの構文エラーです"
となってしまします。他の部分については全く問題なく更新できています。例えば"Data01"など…
プログラム概要は
System.Data.OleDb.OleDbConnection cn;
System.Data.OleDb.OleDbDataAdapter ap;
System.Data.OleDb.OleDbCommandBuilder cb;
DataSet ds;
DataRow dr;
DataTable dt;
---処理---
dt.Rows[n]["DateTime"] = DateTime.Now.ToString();
ap.Update(ds,"t_MINIDATATBL");
となっており、"DateTime" "String"フィールドのところだけアップデート実行のところで例外処理となってしまいます。
"DateTime"や"String"などのようにC#で使われているキーワードと同じ名前はまずいのでしょうか?
しかし、データベースは客先の物なので勝手にフィールド名は変えられません。
一時的にフィールド名を変更して、処理終了時に元のフィールド名に戻すなどという手法などありますでしょうか?
また、他の方法などもありましたらご教授願います。
環境:
コンパイラ VisualStudio2008 C#
データベース Microsoft Access2003
以上、よろしくお願い致します。
お礼
ご教授頂いた方法で無事更新ができました。 修正後 System.Data.OleDb.OleDbCommand com = new OleDbCommand("UPDATE MINIDATATBL0 " + "SET [DateTime] = " + "'" + DateTime.Now.ToString() + "'" + " WHERE SetCounter = 0", cn); 大変助かりました。 感謝いたします。
補足
お返事ありがとうございます。 ご指摘の方法を試してみます。 後ほど、結果を報告させていただきます。