我建了两个DTPicker用来输入日期,date1,date2,我查询sql server数据库中的记录,data表中有一个定义为datetime型的字段saledate,查询条件是where (data.saledate>" + date1.value + "and data.saledate<" + date2.value + ")  运行时,总显示类型不匹配,为什么,先谢了

解决方案 »

  1.   

    我也是
    但要把date 改为String就行了。
    唉。。
      

  2.   

    Access:
    where (data.saledate>#" + date1.value + "# and data.saledate<#" + date2.value + "#)SQL Server:
    where (data.saledate>'" + date1.value + "' and data.saledate<'" + date2.value + "')
      

  3.   

    当然了,你要换成字符型才可以HSQL = " saledate BETWEEN '" + CStr(Format(Sdate.Value, "YYYY-MM-DD")) + "' AND '" + CStr(Format(Edate.Value, "YYYY-MM-DD")) + "'"HSQL = "select * from " & HTable & " where " + HSQL + " order by sa_code"
      

  4.   

    不提示错误了,但是查不出记录啊,为什么啊,表里面是datetime型的啊,为什么要转换为字符型啊,谢谢了
      

  5.   

    你可以跟踪 date1.value 的形式是不是‘yyyy-mm-dd’,如果是就可以不转化,其实你所说的转化也只是规定它的格式而已
      

  6.   

    Access下建议试试
    where (data.saledate>#" & format( date1.value,"yyyy-mm-dd") & "# and data.saledate<#" & format (date2.value ,"yyyy-mm-dd") & "#)
      

  7.   

    查询条件改为
    "... where data.saledate between #" + date1.value + "# and #" + date2.value + "#"
    不行发消息给我
      

  8.   

    where (data.saledate>" + date1.value + "and data.saledate<" + date2.value + ")where (data.saledate>'" + date1.value + "' and data.saledate<'" + date2.value + "')"1、你的括号有问题,是中文的
    2、日期需要用''
    3、有时候datetime需要这种形式才能查询到数据
    where (data.saledate>'" + date1.value + " 00:00:00' and data.saledate<'" + date2.value + " 23:59:59')"