我正在访问的数据库包含以下列:(ID,OrderID,Sandwich,Price和OrderDate)。 OrderDate列格式是日期和时间。 这是我的代码:
mycon.ConnectionString = consl
mycon.Open()
Try
Dim sql As String = "SELECT COUNT (*) FROM [HestiaSales] WHERE [Sandwich] = '" & lbldr.Text & "' AND [OrderDate] = #" & orddt.Text & "#"
Dim cmd As OleDbCommand = New OleDbCommand(sql, mycon)
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
qty = dr.Item(0)
End While
cmd.Dispose()
Catch ex As Exception
MsgBox(ex.Message)
End Try
mycon.Close()
我也尝试过使用orddt.value
,但它没有用,我的代码在添加日期行之前工作正常。
现在每次运行我的代码时都会显示“条件表达式中的数据类型不匹配”。
有任何想法吗?
编辑:我的语法日期包括“#”,我不再得到以前的错误,但是现在我总是得到0作为查询结果,尽管从文本框或'datetimepicker'中选择了正确的时间日期是“2017/03/27 16:00:
答案 0 :(得分:0)
将mydate声明为Date 然后赋值 mydate = ordt
然后尝试一下
Try
Dim sql As String = "SELECT COUNT (*) FROM [HestiaSales] WHERE [Sandwich] = '" & lbldr.Text & "' AND [OrderDate] = #" & mydate & "#"
Dim cmd As OleDbCommand = New OleDbCommand(sql, mycon)
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
qty = dr.Item(0)
End While
cmd.Dispose()
Catch ex As Exception
MsgBox(ex.Message)
End Try
mycon.Close()