当我第一次点查询时弹出所有的查询结果.然后我用字段过滤时可以得到过滤后的数据.但我再选all时查询则得不到所有的结果
请问这是为什么?赋:
if (CbbStr = 'All') then    begin        adoquery.Filtered := False;
    end    else    begin        adoquery.Filter := 'model_no=''' + CbbStr + '''';          //model_no 为fieldname.        adoquery.Filtered := True;    end;

解决方案 »

  1.   

    1.数据库用server 2005.不存在大小写之分.
    2.大小写我都试过.
      

  2.   

    if   (CbbStr   =   'All')   then  //我指的是这里的大小写
    你在这里设个断点看看每次CbbStr是多少
      

  3.   

    写成 if Trim(CvvStr) = All then 试下
      

  4.   

    Filter  清空,再过滤就可以了吧,不用重新查询
    adoquery.Filter   :=   ''; 
    adoquery.Filtered   :=   True; 
      

  5.   

    if   (CbbStr   =   'all')   then 
    begin 
      adoquery.Filter   :=   '';
      adoquery.Filtered   :=   False; 
    end 
      

  6.   

    发表于:2008-01-04 18:00:337楼 得分:0 
    Filter     清空,再过滤就可以了吧,不用重新查询 
    adoquery.Filter       :=       '';   
    adoquery.Filtered       :=       True;   
      

  7.   

    adoquery.Filtered   :=   False; 单纯这样不行,最少要刷新一下吧
    或者重新连接一下
      

  8.   

    清空Flter行,重新打开记录集也行