青
青云
Unregistered / Unconfirmed
GUEST, unregistred user!
如果 用
ClinetDataSet.Filter:='name=''江南制造总局''';
那么可以把 字段名为name的值为“江南制造总局” 过滤出来;
但是如果想用模糊过滤
ClinetDataSet.Filter:='name like ''%江南制造总局%''';
呵呵,ClinetDataSet就傻掉了。
它识别不了,过滤不出来了。
我这个测试环境是在oracle 数据库下测试的,字段name的类型是 varchar2(50);
这么简单的过滤为什么用AdoDataSet好好的,怎么用到ClinetDataSet就不行了呢?
当然ClinetDataSet对英文的模糊过滤是没有问题的。就是中文有点问题。
也许把name的类型改成固定长度的就没有问题。
也许把ClinetDataSet 所对应的DataProvider的DataSet的字段静态加载固定列就好了。
但是我不想那样做。
为何因为ClinetDataSet的这个bug,而让我们迁就它,作出许多影响我们开发效率的事情呢。
希望有兴趣的朋友们讨论一下。怎样改写或者继承ClinetDataSet组件 来改正这个 过滤识别中文 存在的问题;
如果有第三方的ClinetDataSet的替代组件也好啊!
ClinetDataSet.Filter:='name=''江南制造总局''';
那么可以把 字段名为name的值为“江南制造总局” 过滤出来;
但是如果想用模糊过滤
ClinetDataSet.Filter:='name like ''%江南制造总局%''';
呵呵,ClinetDataSet就傻掉了。
它识别不了,过滤不出来了。
我这个测试环境是在oracle 数据库下测试的,字段name的类型是 varchar2(50);
这么简单的过滤为什么用AdoDataSet好好的,怎么用到ClinetDataSet就不行了呢?
当然ClinetDataSet对英文的模糊过滤是没有问题的。就是中文有点问题。
也许把name的类型改成固定长度的就没有问题。
也许把ClinetDataSet 所对应的DataProvider的DataSet的字段静态加载固定列就好了。
但是我不想那样做。
为何因为ClinetDataSet的这个bug,而让我们迁就它,作出许多影响我们开发效率的事情呢。
希望有兴趣的朋友们讨论一下。怎样改写或者继承ClinetDataSet组件 来改正这个 过滤识别中文 存在的问题;
如果有第三方的ClinetDataSet的替代组件也好啊!