怎么样在Delphi中查询Access中的日期时间字段范围数据?如>'2004-08-04 12:00:00'。

解决方案 »

  1.   

    我也很纳闷,我查询的时候总报错,我执行这么一句话就报错:select * from aa where shijian>=#12:17:47#
    说提供了不一致或不完整的信息,
    帮你up
      

  2.   

    不是shijian>=#12:17:47#
    应该是:shijian>=#12/17/47#
      

  3.   

    with adoquery1 do
           begin
           close;
           sql.clear;
           sql.Text:='select * from youtable where rq between :start1 and :over1';
           Parameters.ParambyName('start1').value:=DateTimePicker1.Date;
           Parameters.ParambyName('over1').value:=DateTimePicker2.Date;
           open;
           end;
      

  4.   

    我试了用shijian>=#12/17/47#也不行,
    用 gxgyj(杰克.逊) 的方法是可以的,可能是delphi的sql语句里面不能有“:”,因为“:”是参数的意思,所以只好转弯了。
      

  5.   

    with adoquery1 do
           begin
           close;
           sql.clear;
           sql.Text:='select * from youtable where rq>= :start1 and rq<=:over1';
           Parameters.ParambyName('start1').value:=DateTimePicker1.Date;
           Parameters.ParambyName('over1').value:=DateTimePicker2.Date;
           open;
           end;
      

  6.   

    DateUtils从帮助里查查这个,很多函数可以使用.access保存的日期带有时间,所以有时候用等号很难处理.select * from aa where shijian>=#12:17:47#
    这个:关闭数据控件的参数检查项就可以了.
    dm1.dslist.Close;
    dm1.dslist.ParamCheck:=false;
    dm1.dslist.CommandText:='select * from utbl where ulastlogin=#2004-12-7 13:20:15#';
    dm1.dslist.ParamCheck:=true;
    dm1.dslist.Open;