我的sql:select * form table_name where f1 between :d1 and :d2
在delphi中用adoquery进行如下操作:
adoquery1.active:=false;
adoquery1.parameter[0].value:=date1;
adoquery1.parameter[0].value:=date2;//date1,date2为date类对象,
adoquery1.active:=true;
系统报错说类性不符,
即使用select * form table_name where f1='2003-03-23'
虽然可运行,但返回的结果集为空,
请问在access中如何对date类的字段进行查询

解决方案 »

  1.   

    adoquery1.parameter[0].value:=date1.DateTime;select * form table_name where f1=#2003-03-23#
      

  2.   

    adoquery1.sql.add('select * from 表 where 日期字段 
    between #'+formatdatetime('mm/dd/yyyy',datetimepicker1.time)+'# 
    and #'+formatdatetime('mm/dd/yyyy',datetimepicker2.time)+'#'); 
      

  3.   

    在数据库中的date类型字段,不管保存的是date还是time或者是datetime,其实都是datetime,只是现实的不同罢了,所以要查询的时候,如果要根据日期来查询,修改为
    adoquery1.parameter[0].value:=date1.date;  就可以了,其他的查询类似修改。