读书人

TADOQuery过滤异常一下

发布时间: 2012-02-25 10:01:47 作者: rapoo

TADOQuery过滤错误,高手指点一下!

Delphi(Pascal) code
begin  // ...  with qryAudit do  begin    Filtered := False;    Filter   := '((车号 = ''0'' AND 始发港 LIKE ''%上海%'') OR (车号 = ''达驳'' AND 目的港 LIKE ''%上海%'')) AND (运单号 LIKE ''%SH102238%'')';    Filtered := True;  end;  end;

不知道为什么这段代码老报错,错误如下:"参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。"
但是,分别执行Filter := '((车号 = ''0'' AND 始发港 LIKE ''%上海%'') OR (车号 = ''达驳'' AND 目的港 LIKE ''%上海%''))'或者Filter := '(运单号 LIKE ''%SH102238%'')'可以,不知道为什么合到一起就不行了,TADOQuery的Filter有长度限制或者因为逻辑过于复杂?知道的高手指点一下,谢谢了!

[解决办法]
理论上不应该啊
[解决办法]
filter不能写like ....

跟where不完完全等价的
[解决办法]
兄弟你也是做物流的软件的???


那个公司的???

[解决办法]
你把引号双引号换成#39试呢?
[解决办法]
我试是OK,就是按你的方法,,就不知道是否是其它的原因引起的,
[解决办法]
‘SH102238’和 ‘上海’一个String,一个WideString ,会不会是这个原因哦,楼主看看是不是这个原因,汉字和字母所占的不一样。
[解决办法]
把字段名用双引号括起来

读书人网 >.NET

热点推荐