当我在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 + "#)");
当尝试从datareader读取时,它无法这样做,因为那里似乎没有任何值。
我已经在调试模式下完成了代码,文本框中的值是正确的,但仍然没有发生。
答案 0 :(得分:1)
使用它运行的SQL查询进行访问有点棘手......
确保您抓取的日期格式正确,或者为自己指定格式。
http://msdn.microsoft.com/en-us/library/az4se3k1.aspx(标准日期和时间格式字符串)
还要确保所有必要的引号并且您没有使用任何“保留字”
http://support.microsoft.com/kb/286335(Access中的保留字列表)
答案 1 :(得分:0)
答案 2 :(得分:0)
经过几个小时摆弄这个问题后,
解决方案是Access SQL喜欢格式为
的日期#YYYY/MM/DD#