Delphi的ClientDataSet使用模糊过滤

类别:Delphi 点击:0 评论:0 推荐:
问题:
delphi中ClientDataSet.Filter可不可字符前后模糊过滤啊??,
> 比如我要查询CA001我输入 orderno=‘CA*'是可以查出来的,可是如果用
> orderno='*A00*'查不出来。
> 所以麻烦问一下如果要字符前后都通配应该怎么写?谢谢。
这个问题测试之后情况是这样的:
ClientDataSet支持模糊过滤,但要使用orderno like '%123%'这样的过滤字串.而且字段类型只能是TStringFiled,如果是TWideStringField使用会有'type mismatch in expression'的错误.如果是少数一定要模糊过滤的地方,可以把AP端和客户端的字段类型都改为TStringField.下面是经过测试的代码:
  with ClientDataSet1 do             //edit1.text
  begin
    Filtered  := false;
    Filter :=  'orderno like ''%'+edit1.text + '%''' ;
    Filtered  := true;
  end;

本文地址:http://com.8s8s.com/it/it4705.htm