问题:
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;