请问如何查询从一个时间到另一个时间的的记录
比如从1981年到1983的记录,下面的代码还要加一个datetimepicker2,但不知道如何写
还有一个问题就是维修费这个字段是float 我写成
parambyname('p3').value:=strtofloat(trim(edit2.Text));不行
写成下面的语句也不行,请教了!!!
    
with query1 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from wx where 姓名=:p0 or 车型=:p1 or 日期=:p2 floattostr(维修费)=:p3');
    parambyname('p0').Value:=trim(edit1.Text);
    parambyname('p1').Value:=trim(combobox1.Text);
    parambyname('p2').AsDate:=datetimepicker1.Date;
    parambyname('p3').value:=(trim(edit2.Text));
    open;
  end;

解决方案 »

  1.   

    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('select * from wx where 姓名=:p0 or 车型=:p1 or 日期=:p2 维修费=:p3');
        parambyname('p0').Value:=trim(edit1.Text);
        parambyname('p1').Value:=trim(combobox1.Text);
        parambyname('p2').AsDate:=datetimepicker1.Date;
        parambyname('p3').value:=(trim(edit2.Text));
        open;
      end;
      

  2.   

    parambyname('p3').asfloat:=strtofloat(trim(edit2.Text));or 日期=:p2 改为or (日期<:p2 and 日期>:p5)
      

  3.   

    floattostr(维修费)改为 维修费
      

  4.   

    sql.Add('select * from wx where 姓名=:p0 or 车型=:p1 or 日期=:p2 floattostr(维修费)=:p3');
    Add里的是SQL语句,而floattostr是DELPHI的语句所以这样用不恰当,应该把FLOATTOSTR取掉。
    查询从1981年到1983的记录用一个过滤语句就行了!
    比如:
    DATASET.Filter:='结帐日期>'+datetostr(DateTimePicker1.Date)+' and 结帐日期<'+datetostr(DateTimePicker2.Date);
      try
        DATASET.Filtered:=true;
      except
        showmessage('哈哈,输入不正确');
    有问题请发信息到我的E-mail:[email protected]
      

  5.   

    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('select * from wx where 姓名=:p0 or 车型=:p1 or (日期>=:p2 and 日期<=:p3) floattostr(维修费)=:p3');
        parambyname('p0').Value:=trim(edit1.Text);
        parambyname('p1').Value:=trim(combobox1.Text);
        parambyname('p2').AsDate:=datetimepicker1.Date;
        parambyname('p3').AsDate:=datetimepicker2.Date;
        parambyname('p4').asfloat:=strtofloat(trim(edit2.Text));
        open;
      end;
      

  6.   

    floattostr是delphi中的函数,不是sql server中的函数
      

  7.   

    with query1 do
      begin
        close;
        sql.Clear;
        sql.Add('select * from wx where 姓名=:p0 or 车型=:p1 or (日期>=:p2 and 日期<=:p3) or floattostr(维修费)=:p3');
        parambyname('p0').Value:=trim(edit1.Text);
        parambyname('p1').Value:=trim(combobox1.Text);
        parambyname('p2').AsDate:=datetimepicker1.Date;
        parambyname('p3').AsDate:=datetimepicker2.Date;
        parambyname('p4').asfloat:=strtofloat(trim(edit2.Text));
        open;
      end;
      

  8.   

    parambyname('p4').asfloat:=strtofloat(trim(edit2.Text));
    字符转换还是的问题啊