******使用TADOQuery之 Filter,怎样过绿记录-----难题**************在Filter中怎样使用函数。  如我过绿我的某记录字段长度为3的记录
   filter:='Length(a)=3';
   filtered:=true;
////////////////////////////////////////
出现错误

解决方案 »

  1.   

    Length是Delphi函数,当然不行,要用SQL的的函数
      

  2.   

    、、、、、、、直接用filter是没办法做到过滤长度的,可以这样:
    filtered := true;
    然后在TADOQuery的OnFilterRecord事件中进行处理procedure TForm1.ADOQuery1FilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    begin
      with DataSet do 
      begin
        if Length(FieldByName('a').AsString)=3 then
          Accept:=True
        else
          Accept:=False;
      end;
    end;