Access データベースに日付レコードを挿入したいと考えています。これが私のコードです:
cmd.CommandText = "INSERT INTO AlarmHistory(Date) VALUES ('6/8/2012')";
cmd.ExecuteNonQuery();
Syntax error in INSERT INTO statement.
2行目にエラーが発生します。
db のセル データ型を示すスクリーンショットを以下に示します。
パラメータを使用する
cmd.CommandText = "INSERT INTO AlarmHistory([Date]) VALUES (?)";
cmd.Parameters.AddWithValue("@date", new DateTime(2012,06,8));
cmd.ExecuteNonQuery();
これにより、コードがSqlInjectionから保持され、値の引用について心配する必要がなくなります-
ダミーデータベースを作成してみました。日付フィールドです。Date
は予約キーワードであるため、角かっこで囲む必要があります
Jet4.0の予約キーワードのリストはこちら
おそらくdate
予約語です。もしそうなら、それは区切られるべきです(多分括弧で):
INSERT INTO AlarmHistory([Date]) VALUES ('6/8/2012')
使ってみてください
"INSERT INTO AlarmHistory(Date) VALUES ('#6/8/2012#')"
問題を解決するために、日付の前後に#記号を追加する必要があります。
データベース テーブルを作成する前に、フィールド名に DATE と NAME を付けないようにしてください。
挿入中にエラーがスローされます。例. .password_user ,bill_date のように指定する代わりに、フィールド password ,date を指定します。
注:日付とパスワードは、MS Access テーブルのフィールド名では使用できません。.bcoz はキーワードです。
それはあなたの問題を解決するはずです
ありがとう。ラティナ。