如何从日期/时间选择器中选择日期的访问数据库中获取数据?

时间:2017-03-28 13:22:45

标签: vb.net ms-access

我正在访问的数据库包含以下列:(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:

1 个答案:

答案 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()