4

Access データベースに日付レコードを挿入したいと考えています。これが私のコードです:

cmd.CommandText = "INSERT INTO AlarmHistory(Date) VALUES ('6/8/2012')"; 
cmd.ExecuteNonQuery(); 

Syntax error in INSERT INTO statement.2行目にエラーが発生します。

db のセル データ型を示すスクリーンショットを以下に示します。

db のセル データ型

4

5 に答える 5

6

パラメータを使用する

cmd.CommandText = "INSERT INTO AlarmHistory([Date]) VALUES (?)";  
cmd.Parameters.AddWithValue("@date", new DateTime(2012,06,8));
cmd.ExecuteNonQuery();

これにより、コードがSqlInjectionから保持され、値の引用について心配する必要がなくなります-

ダミーデータベースを作成してみました。日付フィールドです。Dateは予約キーワードであるため、角かっこで囲む必要があります

Jet4.0の予約キーワードのリストはこちら

于 2012-06-14T22:48:10.000 に答える
2

おそらくdate予約語です。もしそうなら、それは区切られるべきです(多分括弧で):

INSERT INTO AlarmHistory([Date]) VALUES ('6/8/2012')
于 2012-06-14T23:02:57.123 に答える
1

使ってみてください

"INSERT INTO AlarmHistory(Date) VALUES ('#6/8/2012#')"

于 2012-06-14T22:47:03.213 に答える
1

問題を解決するために、日付の前後に#記号を追加する必要があります。

于 2012-06-14T22:48:49.483 に答える
0

データベース テーブルを作成する前に、フィールド名に DATE と NAME を付けないようにしてください。

挿入中にエラーがスローされます。例. .password_user ,bill_date のように指定する代わりに、フィールド password ,date を指定します。

注:日付とパスワードは、MS Access テーブルのフィールド名では使用できません。.bcoz はキーワードです。

それはあなたの問題を解決するはずです

ありがとう。ラティナ。

于 2013-10-25T03:41:47.747 に答える