社区
Delphi
帖子详情
clientdataset的filter不支持中文过滤?
lmgt
2004-05-09 02:51:46
使用ado+access+socketserver做的多层系统,
使用filter过滤条件时,它不支持中文.
在clientdataset的filter属性中写入name='李华'
filtered设为true时,
查不到任何记录.(表中确实有name为李华的记录)
...全文
172
11
打赏
收藏
clientdataset的filter不支持中文过滤?
使用ado+access+socketserver做的多层系统, 使用filter过滤条件时,它不支持中文. 在clientdataset的filter属性中写入name='李华' filtered设为true时, 查不到任何记录.(表中确实有name为李华的记录)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
楚人无衣
2004-05-10
打赏
举报
回复
fenger8293(风):
我是用一个ADOQuery的sname字段试可以,我想name为Jet中关键字,这样用会好些;
我贴那个网址对楼主问题有很多的讨论,大家去看看也许会有一些帮助~~
耙子
2004-05-10
打赏
举报
回复
有多少人真正的研究过,呵呵
Heyongfeng
2004-05-10
打赏
举报
回复
中文过滤是没问题的,是因为数据库字段类型是CHAR时,用ADO取出来的数据后面都用空格填充位数的。想办法把取出来的数据空格去掉或过滤时补上空格就可以了。
手指风
2004-05-10
打赏
举报
回复
weizi2000(秋风啊)
你的这句代码好象不行吧.Filter := '[name]=''李华''';
楚人无衣
2004-05-10
打赏
举报
回复
http://www.delphibbs.com/delphibbs/dispq.asp?lid=583696
owencai
2004-05-10
打赏
举报
回复
中文的=是没问题的,我试过了, 我的环境和你一样, 出问题的是like
耙子
2004-05-10
打赏
举报
回复
ClientDataSet 的确对中文支持的有问题,这个问题由来已久了。
这应该是VCL对双字节内码支持的局限,
建议使用SQL查询来替换
楚人无衣
2004-05-10
打赏
举报
回复
我用ADOQuery就可以过滤,没用ClientDataSet,我想应该也可以;
...
.Filter := '[name]=''李华''';
...
再试试;数据库中若是char型的其后可能会有空格,改一下格式看看
lmgt
2004-05-10
打赏
举报
回复
to: pazee(耙子)(灵感点亮生活)
:) 多谢指点~~
耙子
2004-05-10
打赏
举报
回复
改用sql查询的确可以,但是如果数据量庞大,sql查询就显得有些欠缺了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你说的恰恰相反,如果数据量庞大,SQL才有优势,因为Filter是在把数据集都返回到本地,再查询,效率上肯定不如SQL,但是对于二次查询,肯定用SQL要麻烦些。
lmgt
2004-05-10
打赏
举报
回复
to: pazee(耙子)(灵感点亮生活)
改用sql查询的确可以,但是如果数据量庞大,sql查询就显得有些欠缺了。
然而又似乎没有其它可以解决类似问题的办法了。
to:weizi2000(秋风啊)
你粘的网址的确与我现在遇到的问题类同,可是依然没有任何可以完美解决问题的方法。
Client
DataSet
的
过滤
问题
Client
DataSet
的
过滤
问题
Client
DataSet
过滤
功能
Filter
由此上可知:要做类似LIKE的
过滤
动作可以这么做假设我的
Client
DataSet
里面已经查询数据Tab_Employee员工表的数据,要
过滤
查找名字带有姓李的员工,则:
Client
DataSet
.
Filter
ed := False;
Client
DataSet
.
Filter
:= 'Name = ' + QuotdStr('李*');
Client
DataSet
.
Filter
ed := true;
Delphi
Client
DataSet
.
Filter
模糊查询
RAD Studio 10.2.3 测试√ 如果不清楚
Client
DataSet
怎么给数据的可以参考 : Delphi
Client
DataSet
+ DataSource在 DBGrid 中展示数据 提示: 字段1:这是数据中的一个字段,进行筛选的就是这一列中的值 Edit_1.Text:这个就是模糊查询的值 begin with
Client
DataSet
_1 do begin // Close; //
Filter
:= '字段1=''' + '234' + '''
delphi fmx
Client
DataSet
安卓下
过滤
中文
失败的解决办法
过滤
功能在某些时候是非常方便的,windows下没任何问题,可安卓下面对
中文
失效,这就让人头大了解决办法如下:
client
dataset
遍历字段_
Client
DataSet
使用locate或
Filter
定位到字段为空值的记录
场景,程序想检查是否存在某个字段的值是空的,如果存在,则不允许增加记录,否则允许增加记录。解决这个问题,我一开始用了两种错误的方法if not
client
dataset
.locate('AFieldName','',[]) then //如果存在字段AFieldName的值为空的记录,则不允许增加一行记录append
client
dataset
.appendelseexit;第二种错误方法Cli...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章