执行带有日期的SQL Where语句时出现问题
本文关键字:语句 问题 Where SQL 行带 日期 执行 | 更新日期: 2023-09-27 18:25:25
当我在Access 2010中对值进行硬编码并执行SQL语句时,将执行该命令并返回所需的值。
SELECT [Event ID], [Crowd Size], [Event Name]
FROM Event
WHERE ([Event Date]=#8/11/2012#) AND ([Event Name]="Peter")
然而,当我使用文本框代替硬编码值时
("SELECT [Event ID], [Crowd Size], [Event Name] FROM [Event] WHERE ([Event Name]='" + textBoxEventName.Text + "') AND ([Event Date]=#" + textBoxEventDate.Text + "#)");
当试图从数据读取器读取时,它无法做到这一点,因为其中似乎没有任何值。
我已经在调试模式下完成了代码,文本框中的值是正确的,但仍然没有发生。
Access运行的SQL查询有点棘手。。。
确保你要抢的日期是正确的格式,或者给它指定一个你自己的格式。
http://msdn.microsoft.com/en-us/library/az4se3k1.aspx(标准日期和时间格式字符串)
还要确保有所有必要的引号,并且你没有使用任何"保留字"
http://support.microsoft.com/kb/286335(Access中的保留字列表)
试试这个:看看这个页面:http://www.tizag.com/sqlTutorial/sqlselect.php
经过数小时的处理,
解决方案是Access SQL喜欢格式的日期
#YYYY/MM/DD#