使用 ADOQurery 查询数据,语句为:
  select mlid,
         mlname,
         mlgg,
         mlsize,
         mlqty
  from ml where mlname like '%A'
查出来的数据一般有5000多条,能否在客户端对查出来的数据进行过滤,
不在去查数据库?
 是否要使用filter 这个属性,要如何使用,
能否给个例子。

解决方案 »

  1.   

    设置filter,然后在将filtered设置为true即可:如:
        filter:='mlid=12';
        filtered:=true;
      

  2.   

    with ADOQurery do
    begin
      filtered:=false;
      filter:='mlid=100'
      '可以用combobox.text=edit.text的方法选择要过滤的字段
      filtered:=true;
    end
      

  3.   

    可以
    with adoquery do 
    begin
      filtered:=False;
     filter:='字段'+''''+'你要设置的条件'+'''';
      filtered:=true;
    end;
      
      

  4.   

    从效率上说,filter最终还是变成sql的
      

  5.   

    不,
    从效率上说,Filter比重新从数据库中查要快很多。
    Fileter中可以写SQL中WHERE后面的部分,
    如:
    Fileter := 'mlid=11 and mlname=aaa';
    Filetered := true;
    你试一下就知道了!
      

  6.   

    哥们可以的,不过效率低
    with adoquery do 
    begin
      filtered:=False;
      filter:='你要设置的条件';
      filtered:=true;
    end;
    也可以用ONfilterrecord事件
    在事件中加入accept:=你要设置的条件表达式;
    就可以了
      

  7.   

    ADO 没办法知道里面的究竟。但是BDE的可以用SQL Monitor来看,能发现最终都是变成了SQL的。
      

  8.   

    to  pazee(耙子) :Filter是在内存中执行的,怎会变成sql语句?