首页 > 解决方案 > 将日期插入 Microsoft Access 数据库

问题描述

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

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

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

还有:

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

标签: c#sqlms-access

解决方案


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

  • 此处的目的是构建一个 SQL字符串。这两个非工作示例都调用了DateTime.Parse()返回 DateTime 值的方法......它不是 String 数据类型。

  • 给定的代码正在循环。该方法DateTime.Now返回一个 DateTime 类型。但随后该ToShortDateString()方法将其转换为字符串。但是随后该Parse()函数将该字符串转换回日期,基本上撤消了您已经拥有的内容。


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

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

推荐阅读