我使用 vb.net 和 ms access 2003 作为后端。当我使用下面显示的 sql 查询时,我的结果中没有任何记录。我正在尝试查找日期低于(或早于)当前日期的记录。
Dim Sql, CurrentDate as String
Dim TrDate as Date
Dim DataVal As Integer
TrDate=DateTime.Now
CurrentDate=Format(TrDate, "dd/MM/yyyy hh:mm:ss tt")
Sql="Select count(*) from Table1 where InvDate<=#" & CurrentDate & "#"
IF DBConOpen()=True
cmdOledb.CommandText = sql
cmdOledb.CommandType = CommandType.Text
cmdOledb.Connection = ConOledb
DataVal = cmdOledb.ExecuteScalar
msgbox(DataVal)
End IF
例如,如果我的当前日期是 01/09/2012 或 02/09/2012 或 .. 12/09/2012 并且数据库中的日期是 01/09/2012 或 02/09/2012 或 .. 12/09/ 2012 年。我应该得到相应的记录数。但在这种情况下,我得到 0 条记录。
但是如果我当前的日期是 01/09/2012 或 02/09/2012 或 .. 12/09/2012 并且数据库中的日期是 20/08/2012 或 15/06/2012 或 .. 30/05/2012 . 我得到了正确的记录数。
我在 MS 访问表中定义的日期格式是“通用日期”。有没有人能够发现什么是错的?