C# &引用;INSERT INTO语句中的语法错误;尝试插入日期以通过C访问数据库时出错#
我想将日期记录插入Access数据库。这是我的密码:C# &引用;INSERT INTO语句中的语法错误;尝试插入日期以通过C访问数据库时出错#,c#,datetime,insert,C#,Datetime,Insert,我想将日期记录插入Access数据库。这是我的密码: cmd.CommandText = "INSERT INTO AlarmHistory(Date) VALUES ('6/8/2012')"; cmd.ExecuteNonQuery(); 它在INSERT INTO语句中给出语法错误。第二行错误 下面是在db上显示我的手机数据类型的屏幕截图 尝试使用 “在AlarmHistory(日期)值('#6/8/2012#')中插入” 使用参数 cmd.CommandText = "INSER
cmd.CommandText = "INSERT INTO AlarmHistory(Date) VALUES ('6/8/2012')";
cmd.ExecuteNonQuery();
它在INSERT INTO语句中给出语法错误。
第二行错误
下面是在db上显示我的手机数据类型的屏幕截图
尝试使用
“在AlarmHistory(日期)值('#6/8/2012#')中插入”
使用参数
cmd.CommandText = "INSERT INTO AlarmHistory([Date]) VALUES (?)";
cmd.Parameters.AddWithValue("@date", new DateTime(2012,06,8));
cmd.ExecuteNonQuery();
这将保护您的代码不受影响,您可以停止担心引用您的值-
只是尝试创建一个虚拟数据库。这是日期字段。您应该用方括号括起来,因为Date
是保留关键字
在Jet 4.0的保留关键字中,您应该在应该解决问题的日期周围添加一个#符号。也许
date
是一个保留字。如果是,则应将其分隔(可能用括号):
请记住,在创建数据库表之前,请避免指定字段名称日期和名称 它将在插入时抛出错误。例如,给出字段密码、日期,而不是像那样给出密码、用户、账单日期 注意:日期和密码在MS Access表中不可接受。bcoz它是一个关键字。 它应该能解决你的问题 谢谢。
Rathina.我搜索了很多,尝试了很多东西:我不知道为什么这个过程如此艰难!尝试用方括号括起日期-这是一个关键字!因此,您的语句将被插入AlarmHistory([Date])值(#6/8/2012#)中,最终它成功了!谢谢@dash。所以问题出在列名(日期),而不是valueYes!数据库引擎可以更好地告诉人们这一点。这会导致各种各样的混乱。不过,我也会接受@Steve的建议。参数化查询是一种很好的做法,可以提高许多数据库系统的性能。@dash,很好,你在几分钟前就得到了它。这看起来不错,但也会出现同样的错误。我的访问设置正常吗?
INSERT INTO AlarmHistory([Date]) VALUES ('6/8/2012')