2015-11-04 111 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

谢谢!这像一个魅力。 –