Delphi6对中文支持的两个Bug...

h_q_p 2002-07-18 09:00:56
近来,发现D6如下两与中文有的Bug,一是在TRemoteDataModule中,二是在DataSet(如TQuery,TTable,TClientDataSet等),测试环境如下:
一、TRemoteDataModule中:
1.建立一MIDAS应用程度服务器,在TRemoteDataModule加入:
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
ADODataSetProvider1: TDataSetProvider;
Table1: TTable;
Database1: TDatabase;
Query1: TQuery;
DataSetProvider1: TDataSetProvider;
在客户端用ClientDataSet1动态传入CommandText,如:select * from Orders where CustName=:CN
现象:
当ClientDataSet1的ProviderName连接ADODataSetProvider1时,当参数CN的值为英文时(如'Huawei')时正常;但为中文时(如:'中国电信')查询结果不对,但当值为'中国电信中国电信'或'中国电信中中中中'时(即要查询值长度的两倍时),能查出客户名称为'中国电信'的资料。
当ClientDataSet1的ProviderName连接DataSetProvider1时,正常。

即服务器端为ADO控件是,对中文支持有问题,为BDE控件是正常。

2.DataSet之Filter中:
测试环境承上:
现欲筛选CustName中包含某个字符的资料则用Filter为
ClientDataSet1.Filter := '('+'CustName'+' LIKE '
+''''+'%'+Edit1.Text+ '%'+''''+')';
当Edit1.Text为英文字符时,正常;
但当Edit1.Text为单个汉字时,筛选不正确,为二个以上汉字时,又正常。

即筛选条件为单个汉字是,DataSet筛选出错;英文及多汉字正常。

原因还没查出。
...全文
26 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
h_q_p 2002-07-19
  • 打赏
  • 举报
回复
pWin200 Pro +Sp2
D6 Enterprise +sp2
有问题吗?
h_q_p 2002-07-19
  • 打赏
  • 举报
回复
pwin2000 professnional+SP2
D6 Enterprise+Sp2
有问题吗?
Billy_Chen28 2002-07-19
  • 打赏
  • 举报
回复
老兄的D6是哪个版本的?!
Billy_Chen28 2002-07-19
  • 打赏
  • 举报
回复
老兄的D6是哪个版本的?!
yansea 2002-07-19
  • 打赏
  • 举报
回复
受到!
zhaixingzi 2002-07-19
  • 打赏
  • 举报
回复
学习
Zhaixingzi@263.net
h_q_p 2002-07-18
  • 打赏
  • 举报
回复
过奖!^_^
dgatiger@163.com

Kuye2002yx 2002-07-18
  • 打赏
  • 举报
回复
厉害,居然被你发现了。
格兰特杨 2002-07-18
  • 打赏
  • 举报
回复
:-)

neutr@263.net
有事常联系
h_q_p 2002-07-18
  • 打赏
  • 举报
回复
To bisc_sunny:
你的建议测试通过...
h_q_p 2002-07-18
  • 打赏
  • 举报
回复
1.客户与服务器端均为简体中文...
2.你的建议本人一试后告知结果...
3.No.但并不妨碍你我成为朋友,and you?
格兰特杨 2002-07-18
  • 打赏
  • 举报
回复
你的客户机和服务器都是中文系统吗?
若有一个不是...:(

建议你对CommandText不要使用Parameter而直接这样写
Self.AdoDataSet.CommandText := 'select * from Orders where CustName='中国电信'';

应该就会好了。

p.s. are you working in Huawei?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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