不用DateToStr,而用FloatToStr.因为日期型可以当作浮点型来用。你可以看看日期型的帮助说明。

解决方案 »

  1.   

    procedure Tsearch_form.BitBtn1Click(Sender: TObject);
    var
    date1:string;
    date2:string;
    begin
        with connection_form.Query1 do
        begin
            date1:=datetostr(date_begin.date);
            date2:=datetostr(date_over.date);
            close;
            sql.Clear;
            sql.Add('select * form dengji_table');
            sql.add('where date beween');
            sql.add('''' + date1 + ''' and ''' + date2 + '''') ;
            open;
        end;
    end;
      

  2.   

    up
    还有,from 拼成 form 了;between 拼成 beween 了,呵呵。
      

  3.   

    综合wwwwwwww(我我) nkzgj(和曦) 就对了
    但你的数据库一定要设计成 'yyyy-mm-nn'的否则查询结果有可能出错;
    小妹?^_^?:捉虫 也有很多贴了;delphi学的如何了?
      

  4.   

    综合wwwwwwww(我我) 、nkzgj(和曦),
    我再补充一点,where子句前必须有一个空格,between 后也必须有一个空格,否则在运行时也会提示出错;应该是:
    procedure Tsearch_form.BitBtn1Click(Sender: TObject);
    var
    date1:string;
    date2:string;
    begin
        with connection_form.Query1 do
        begin
            date1:=datetostr(date_begin.date);
            date2:=datetostr(date_over.date);
            close;
            sql.Clear;
            sql.Add(' select * from dengji_table');
            sql.add(' where date between');
            sql.add(' ''' + date1 + ''' and ''' + date2 + '''') ;
            open;
        end;
    end;
    这下大家都爽了吧?
      

  5.   

    还有一个办法就是不用SQL,用Filter属性限制日期。
      

  6.   

      use FloatToStr()  function
      

  7.   

    procedure Tsearch_form.BitBtn1Click(Sender: TObject);
    var
    date1:string;
    date2:string;
    begin
        with connection_form.Query1 do
        begin
            date1:=datetostr(date_begin.date);
            date2:=datetostr(date_over.date);
            close;
            sql.Clear;
            sql.Add(' select * from dengji_table');
            sql.add(' where date between');
            sql.add(' ''' + date1 + ''' and ''' + date2 + '''') ;
            open;
        end;
    end;------------------------------------运行时还是报错!
    'Data type mismatach in criteria expression'
    可能还是 数据类型的错误!
    备注:
    date字段的时间格式是:2001-09-07(date类型)
      

  8.   

    这是数据类型和标准表达式不匹配,date字段的时间格式是:2001-09-07(date类型) ,但datetostr(date_begin.date)后面可能带上小时、分、秒,所以你最好还是转换为yyyy-mm-dd的标准格式