Delphi 控件TQuery 使用时出现乱码现象:(100分)

  • 主题发起人 主题发起人 fafan
  • 开始时间 开始时间
F

fafan

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi 控件TQuery 使用时出现以下不正常现象:
TQuery . Sql := ‘SELECT 条码,商品名称,规格,单位FROM sp.dbf;';
TQuery . Active:=True;
//生成一记录集,通过 TDBGrid 控件浏览时表格标题出现不正常(与字段名称不符)!
‘条码’变成 ‘陶滤’ ‘商品名称’变成 ‘商品蜜称’
‘规格’变成 ‘蛊秆’
 
您试试下面这种方法:
Q1.CLOSE;
Q1.SQL.CLEAR;
Q1.SQL.ADD('SELECT 条码,商品名称,规格,单位 FROM sp');
Q1.OPEN;
 
>>Delphi 控件TQuery 使用时出现以下不正常现象
1.有时老出现这种情况,写的时候,击'Code Editor'切换一下就不会.
>>//生成一记录集,通过 TDBGrid 控件浏览时表格标题出现不正常(与字段名称不符)!
>> ‘条码’变成 ‘陶滤’ ‘商品名称’变成 ‘商品蜜称’
>> ‘规格’变成 ‘蛊秆’
2.可创建永久的tcolumn或tfield来解决.
其中tfield设置其displaylabel为正确的字符
 
会不会是逗号也是输入法状态下的逗号了
 
如果使用了 ODBC ,应该是 ODBC 的设置问题。
 
最好不要用中文字段名,出问题哭都找不到地方
 
分坛主说的对,Delphi对双字节支持仍有许多不如意的地方,Query只是一个方面,在
数据库字段中输入汉字等许多地方也有类似情况。
非得要,那么注意汉字是两个字节组成的,有时输入汉字时敲几下Del,有时多添加一个
空格。
 
将BDE中的configuration中的paradox中的langdriver设为
Paradox China 936就好了,。
 
最好用英文名字作欄位名稱﹐然后用Query中的DisplayLabel屬性改成你想要的中文名稱﹐
這樣你即可以得到中文顯示﹐又不會出錯﹐這覺這這樣處理最好。不想﹐出了問題都不知道
是哪儿出的。
 
用英文字段名,显示时建立永久字段就可以了。
 
langdriver设置成dBASE CHS cp936行吗?
 
请用英文作字段名,这应该是一个MIS程序员的基本习惯,我经常碰到一些操作员把
WORD或WPS2000的文件存成中文文件名,一旦在DOS下没有UCDOS时只能出现乱码。
 
多人接受答案了。
 
后退
顶部