2011-11-29 127 views
0

我有一条SQL语句,我试图用它将一个vb.net程序连接到访问数据库。我正在使用日期/时间选择器来提供日期。我已经四处搜寻,我对该声明所做的各种更改没有返回任何结果。对于什么它的价值这个查询访问中工作正常:访问两个日期之间的SQL

SELECT * FROM tblcallLog 
    WHERE startDate Between #" & dspstart.text & "# AND #" & dtpend.text & "#" 

确定这里是整个点击事件,每@ ajax81要求

输入代码在这里

Private Sub btnDateUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDateUpdate.Click 
     grpT2DateRange.Visible = True 
     grpT2SingleStaff.Visible = True 
     grpT2Transfer.Visible = True 
     lblT2TotalCallsData.Visible = True 


     Dim strSDate As String = dtpStart.Text 
     Dim strEDate As String = dtpEnd.Text 

     'CountDate Variables 
     Dim strSQLCountDate As String = _ 
"SELECT * FROM tblcallLog WHERE startDate Between #" & dtpStart.Text & "# AND #" & dtpEnd.Text & "#" 
     Dim odaCallDate As New OleDb.OleDbDataAdapter(strSQLCountDate, strPath) 
     Dim datCallDateCount As New DataTable 
     Dim intDateCount As Integer 

     intDateCount = datCallDateCount.Rows.Count 
     lblT2TotalCallsData.Text = intDateCount.ToString 
enter code here 
+0

尝试使用参数化查询,它可能会更好地工作,并避免sql注入漏洞。 – BlackICE

+0

您向我们展示了什么可行。你在做什么不起作用?没有返回任何结果的代码片段是必要的,可以为您提供任何有意义的帮助。 – mwolfe02

回答

0

一个小'几个月前与我挂钩的是,日期不是以相同格式输入的;即确保将mm/dd/yyyy与mm/dd/yyyy进行比较,而不是将mm/dd/yyyy与dd/mm/yyyy进行比较。

编辑: 我刚刚注意到的另一个小问题 - 用于两个语句之间的日期字段ID往往以前缀相同的首字母缩写词为前缀。你确定你在引用正确的字段吗? (你有dspStart和dtpEnd ...)

+0

我对田野很好......那是我的一部分。有意思的是日期时间选择器的'value'属性,它也返回时间和日期。然而,我在“自定义”中为'mm/dd/yyyy'设置了一个值,并且我将dtpstart.text和dtpend.text分配给变量并将它们显示在屏幕上......它们只返回日期。有什么想法吗? – Brad

+0

嗯...在日期时间格式正确之前,有没有机会让你的查询被触发?也许你可以发布你的代码作为编辑你的问题,这样社区可以更好地看到发生了什么。 –

+0

根据您的建议添加了其他代码。谢谢您的帮助。 – Brad