来源:www.cncfan.com | 2006-1-10 | (有2288人读过)
问题: 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;
|