按日期搜索数据 - 错误

时间:2016-10-24 10:14:12

标签: sql vb.net ms-access

我正在使用我的VB.Net程序在MS Access中查询数据库。在数据库中,我有一个包含“question_start”(日期/时间)字段的表。

我想返回在我的VB程序中选择的日期之后或之后发生的每条记录的ID。

Access表中的数据以通用日期格式存储为日期/时间(例如'10 / 10/2016 15:48:01')。

在VB.NEt中,我使用DateTimePicker对象来选择日期。

以下是我用来恢复开始日期为10/10/2016(2016年10月10日)的所有记录的代码。

(注1:我已从此特定搜索中删除了时间元素,因为我不需要我的结果在此处具有时间敏感性,但稍后需要。)

Private Sub btnDateText_Click(sender As Object, e As EventArgs) Handles btnDateText.Click

    Dim dt_QuestionDate As New DataTable()

    dt_QuestionDate = getData("SELECT question_id
                    FROM tblQuestion                     
                    WHERE question_start => " & dtDateText.Value.ToString("dd-MM-yyyy") & ""
                    )

    lstDateText.DataSource = dt_QuestionDate
    lstDateText.DisplayMember = "question_id"
    lstDateText.ValueMember = "question_id"

End Sub

**我的数据库中有记录应该返回,但我目前没有收到任何值。我不确定是不是我写了WHERE子句(我用“=>”,“> =”和“=”完成了WHERE)但是我没有收到10 /的记录二千零十六分之十。

有任何想法吗?我不知道是不是因为这是一个简单的错误,还是因为存储在Access中的时间元素?

1 个答案:

答案 0 :(得分:0)

您需要正确格式化日期值的字符串表达式:

WHERE question_start => #" & dtDateText.Value.ToString("yyyy'/'MM'/'dd") & "#"