2015-11-04 162 views
0
Dim rmfrom As Date 
     rmfrom = DateTime.ParseExact(hapfromrm.Value, "dd/mm/yyyy", Nothing) 
     Dim rmto As Date 
     rmto = DateTime.ParseExact(hapfromrm.Value, "dd/mm/yyyy", Nothing) 
     con.Open() 
     cmd = New OleDbCommand("SELECT * FROM writes WHERE date_written BETWEEN " & rmfrom & " AND " & rmto & "", con) 

它給了我下面的錯誤:缺少操作員

Syntax error (missing operator) in query expression 'date_written BETWEEN 1/2/2015 12:11:00 AM AND 1/2/2015 12:11:00 AM'.

有什麼解決辦法? 任何幫助將不勝感激。

+0

的日期應該是在引號,即「2015年1月2日上午12點11分00秒」與「2015年1月2日12: 11:00 AM'。 – noahnu

回答

0

您需要正確地格式化字符串表達式日期:

cmd = New OleDbCommand("SELECT * FROM writes WHERE date_written BETWEEN #" & rmfrom.ToString("yyyy'/'MM'/'dd") & "# AND #" & rmto.ToString("yyyy'/'MM'/'dd") & "#", con) 
+0

謝謝!這像一個魅力。 –