我正在开发一个使用 .mdb 数据库的旧软件。
我已经成功地建立了与数据库的连接,当涉及到像这样的预编程查询时,我可以很好地运行 sql 查询:
SELECT COUNT(*) AS test FROM shifts WHERE EmpId = '2' AND DateOpen <= '3/28/2007'
继续前进,我将 2 替换为取决于用户选择的表达式,如下所示
Employees(employe.SelectedIndex)
这也很好。
现在,当我尝试将日期替换为startDate.Value.ToShortDateString
我开始面临许多转换问题时,我终于有了一些有用的东西,所以我的 where 子句变成了这样:
WHERE EmpId = '" & Employees(employe.SelectedIndex) & "' AND DateDiff('d', DateOpen, '" & endDate.Value.ToShortDateString & "') <= 0
现在我选择了上面查询中的相同日期,查询运行没有问题,但令人惊讶的是我得到了一个空结果,这对我来说没有任何意义,因为已经存在值的查询返回的计数为 2。
我使用了一些调试输出来确保正确生成了查询,并且在选择日期时得到了与上面相同的查询。
如果您知道为什么这不起作用或对正确的方法有任何提示,我将不胜感激您的所有意见。
提前致谢