直接就没问题了parambyname('date1').asdatetime:=datetimepicker1.date;
parambyname('date2').asdatetime:=datetimepicker2.date;试试吧。
  

解决方案 »

  1.   

    是不是SQL语句的问题,你这么试试:
    sql.add('select * from "table.db" where date>=:date1 and date<=:date2');
      

  2.   

    另外date似乎是保留字,所以可能也要加引号,或者最好换个名字。
    sql.add('select * from "table.db" where "date">=:date1 and "date"<=:date2');
      

  3.   

    var
    a,b:datatime;
    ////
    a:=datetimepicker1.date;
    b:=datetimepicker2.date;
    with dm.query1 do
    begin
      close;
      sql.clear;
      sql.add('select * from table where date>=:date1 and date<=:date2');
      parambyname('date1').asdatetime:=a;
      parambyname('date2').asdatetime:=b;
      ecexsql;
    end;
      

  4.   

    还是出错:type mismatch in expression.
      

  5.   

    with dm.query1 do
    begin
      close;
      sql.clear;
      sql.add('select * from table where date>=:'''+date1+''' and date<=:'''+date2+'''');
      parambyname('date1').asdatetime:=trunc(datetimepicker1.date);
      parambyname('date2').asdatetime:=trunc(datetimepicker2.date);
      open;
    end;
      

  6.   

    这个问题我也曾遇到过,后来发现Paradox数据库用SQL对日期进行查询,格式只能是mm/dd/yy.function convertdate(sdate:tdate):string;//日期格式转换;
    var
      i:integer;
    begin
      result:=formatdatetime('mm-dd-yy',sdate);
      for i:=0 to length(result)-1 do
        begin
          if result[i]='-' then
            result[i]:='/';
        end;
    end;with dm.query1 do
    begin
      close;
      sql.clear;
      sql.add('select * from table where between :date1 and :date2');
      parambyname('date1').asstring:=convertdate(date1);
      parambyname('date2').asstring:=convertdate(date2);
      open;
    end;
      

  7.   

    试试这个。  
      parambyname('date1').asstring:=DatetoStr(datetimepicker1.date);
      parambyname('date2').asstring:=DatetoStr(datetimepicker2.date);
      

  8.   

    对不起,记错了,应该是:
    query1.SQL.Add('select * from table where date between cast('''+convertdate(date1)+''' as date) and cast('''+convertdate(date2)+''' as date)');我没用参数,你可以自己加上.
      

  9.   

    再转成mm/dd/yy格式后,查询时要再用cast(date1 as date)在转换一次,这样就行了,我试过的.