目前遇到一个问题,数据库为sql server,字段为t_date,类型为datetime型,里面存储的数据,如2009-02-02 12:15:40.使用adotable过滤日期,如过滤2009-02-02,
我用adotable1.filterd:=false;
adotable1.filter:='convert(char(10),t_date,120)= '+#39+FormatDateTime('yyyy-mm-dd',d_ymd)+#39;
adotable1.filterd:=true;不行,提示数据类型不正确或不在可以接受的范围内或与其他参数冲突。
我用adotable1.filterd:=false;
adotable1.filter:='t_date= '+#39+FormatDateTime('yyyy-mm-dd',d_ymd)+#39;
adotable1.filterd:=true;不提示错误,但无资料。
请问要怎么写???急~~~~

解决方案 »

  1.   

    >2009-02-02 00:00:00      and     < 2009-02-02 23:59:59
      

  2.   

      adotable1.Filtered := false;
      adotable1.Filter := '日期='''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+'''';
      adotable1.Filtered := true;
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    begin
      adotable1.Filtered := false;
      adotable1.Filter := '日期 >='''+formatdatetime('yyyy-mm-dd',datetimepicker1.Date)+''' and 日期 <='''+formatdatetime('yyyy-mm-dd',datetimepicker2.Date)+'''';
      adotable1.Filtered := true;
    end;