将日期插入Microsoft Access数据库

时间:2019-04-03 14:27:41

标签: c# sql ms-access

如何编写正确的语法以在数据库中插入日期?

这是我已经尝试过的SQL命令:

"insert into table1 (date) values (#"+DateTime.Parse(DateTime.Now.ToShortDateString())+"#)"

还有:

"insert into table1 (date) values ('"+DateTime.Parse(DateTime.Now.ToShortDateString())+"')"

2 个答案:

答案 0 :(得分:1)

我确定可以在Stackoverflow上找到该问题的重复项,但是事实证明,我发现的有关C#和Access SQL的日期格式的许多问题都有其自身的特殊问题,没有简单的答案。但是,如果您只是查看各种代码示例中的字符串格式,那么从技术上讲,答案仍然存在于其他问答中。

  • 此处的目的是构建SQL 字符串。这两个无效的示例都在调用DateTime.Parse()方法,该方法返回DateTime值...而不是String数据类型。

  • 给定的代码将绕一圈。方法DateTime.Now返回DateTime类型。但是随后ToShortDateString()方法将其转换为字符串。但是随后,Parse()函数会将字符串转换回日期,从而基本上撤消了已有的内容。


故事的道德?删除对DataTime.Parse()的调用。

"insert into table1 (date) values (#" + DateTime.Now.ToShortDateString() + "#)"

答案 1 :(得分:1)

您必须为日期表达式使用正确的字符串表达式,或使用Date():

"insert into table1 ([date]) values (Date())"

对于其他日期值:

"insert into table1 ([date]) values (#" + someDate.ToString("yyyy'/'MM'/'dd") + "#)"