TSQLDataSet 的 Filter 如何过滤中文?

sterrys 2009-02-19 02:51:00
C++ Builder 2009 访问 Oracle9i 数据库
TSQLDataSet 的filter 为英文时没有问题,但是如果为中文,则结果为空
Filter = "username='abcd'" 可以
但是 Filter = "username='阿毛'" 返回结果为空
已经确认 SELECT 查找出的数据结果中有'阿毛'

...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sterrys 2009-03-24
  • 打赏
  • 举报
回复
字符集是对的
stevenjscn 2009-03-20
  • 打赏
  • 举报
回复
用参数的方式
ADOQuer1->SQL->Add("Select * From [users] Where UserName=:User";
ADOQuery1->Parameters->ParamByName("User")->Value=Variant("阿毛");
ADOQuer1->Open();
castlooo 2009-03-17
  • 打赏
  • 举报
回复
Oracle9i 的字符集 是什么啊?
看你的注册表
HKEY_LOCAL_MACHINE/software/oracle
中是这个啊
AMERICAN_AMERICA.US7ASCII?还是
SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这个啊?
如果是这个AMERICAN_AMERICA.US7ASCII ADOConnection 你用的什么驱动啊? 是oracle的 还是 MS的啊?是Oracle 的可能汉字查不出来啊!用MS for oracle 可以查询出来的。
如果是SIMPLIFIED CHINESE_CHINA.ZHS16GBK 应该可以查询出来的。
综上所述,八成的字符集的问题。
ZHOUGE 2009-03-06
  • 打赏
  • 举报
回复
奇怪的现象,帮顶。
xjq2003 2009-03-06
  • 打赏
  • 举报
回复
是不是Oracle9i的问题啊

你写个SQL语句在Oracle9i里测试一下,看可以吗?
sterrys 2009-02-19
  • 打赏
  • 举报
回复
结果集里面确定有这个值
已经试过楼上的方法,过滤出来的结果依然为空

CodeGear™ RAD Studio 2009 Version 12.0.3210.17555
Update1
Update2
ydlchina 2009-02-19
  • 打赏
  • 举报
回复
Filter是在你的结果集里查询,确定你的结果集里是否有这个值
或者使用模糊查询试试
hemiya 2009-02-19
  • 打赏
  • 举报
回复
这样试试看可以不
Filter = "username='%阿毛%'"

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧