繁体   English   中英

将日期插入 Microsoft Access 数据库

[英]Insert dates into Microsoft Access database

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

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

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

还有:

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

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

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

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


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

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

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

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

对于其他日期值:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM