[英]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.