我要访问的数据库包含以下列:(ID、OrderID、三明治、价格和OrderDate)。OrderDate列格式为date和time。下面是我的代码:
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作为查询结果,尽管有正确的时间从文本框或‘日期时间选择器’中选择日期是"27/03/2017 16:00:
发布于 2018-06-26 07:09:08
将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()
https://stackoverflow.com/questions/43070809
复制相似问题