起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 179|回复: 6

[结贴]DataSet的filter条件中包含中文字符的问题**

[复制链接]
发表于 2007-10-11 11:14:45 | 显示全部楼层 |阅读模式
版本2809
数据集使用filter过滤,有条件为: xfield  like '%条件xxxxxx%',在如此格式的条件中如果包括中文,就不可以正确过滤;
如果去掉条件中前一个 %(即:xfield  like '条件xxxxxx%')是可以正确过滤的;
如果使用SQLFilter,这个条件也可以正确过滤;
初步判断是“%汉字”类型的字符串的编码问题引起,目前有不少功能采用了Filter的过滤方式,因为数据量不大,还没有考虑全部替换成SQLFilter。
这个问题可以通过什么方式来避免或者有在不改变使用Filter的前提下有其他的解决方式?
回复

使用道具 举报

发表于 2007-10-11 11:23:45 | 显示全部楼层
楼主,数据集的filter是客户端端过滤,表达式语法可以参考delphi的帮助。

sqlfilter是服务器端过滤,表达式语句是标准的sql语句where部分
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 15:15:05 | 显示全部楼层
明确了,是Delphi使用filter模糊查找中包含中文的的bug。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3468703
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 15:32:14 | 显示全部楼层

DataSet的Filter模糊查询中文错误

http://bbs.justep.com/forum.php?mod=viewthread&tid=18556
接上面的帖子……
因为Delphi自身的Bug导致DataSet的Filter模糊查询中文错误,现在平台有没有封装其他的DataSet或者通过其他的手段来解决这个问题?

PS:这个帖子应该回复上面贴得,不过那个结的太快,就新发了一个,还麻烦斑竹合一下的好。
回复 支持 反对

使用道具 举报

发表于 2007-10-11 15:57:00 | 显示全部楼层
应该是直接从delphi的TClientDataSet继承来的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-15 09:33:36 | 显示全部楼层
是说在继承的过程中并没有对这个问题做处理么?
回复 支持 反对

使用道具 举报

发表于 2007-10-15 10:50:03 | 显示全部楼层
没有处理,已经作为缺陷提交。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-28 17:22 , Processed in 0.045917 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表