如何将一个数据库的英文字段在程序中用中文显示(50分)

  • 主题发起人 主题发起人 TB2_LB
  • 开始时间 开始时间
T

TB2_LB

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将一个数据库的英文字段在程序中用中文显示,我知道可以在DBGIRD中修改COLUMN的CAPTION,但这样的方式只能在当前有效,如果其他的程序调用同一个数据库则显示的仍为英文字段名,不知是否有其他高招一劳永逸的解决,不要告诉我将数据库的字段名直接用中文设立啊。
 
用静态字段,然后设它的displaylable
 
数据集用查询控件(如tquery)
sql语句:select (字段名) as (要显示的中文)
 
可否详细一点,我刚开始学DELPHI,数据库我我用DELPHI本身的TABLE建的,那里有DISPLAYLABLE的设置.
 
双击table把字段全加进去就有了
 
在table控件上右击->Fields Editor...
然后在出来的窗体上右击->Add All Fields
可以编辑每个字段的属性

当然如果要每个调用的程序都显示中文字段名的话每个程序都要先写好
要一劳永逸真的只有将数据库的字段名直接用中文
 
with adoquery1 do
begin
close;
sql.clear;
Sql.Add(' Select A.Class1 As 分类1,A.Class2 As 分类2, '+
' A.Class3 As 分类3,B.Title As 标题,B.KeyWord As 关键词,B.Provenance As 出处,'+
' B.Code,B.Remark As 备注,B.InterfixFile As 相关文件,'+
' B.RecordTime As 录入时间,B.LastModifyTime As 最后修改时间'+
' From SourceClass A,SourceMain B Where '+
' A.ID=B.ID And '+
' B.ID='+IntToStr(Data.QueryTemp1.FieldByName('ID').AsInteger)+' And '+
' B.Title="'+Data.QueryTemp1.FieldByName('Title').AsString+'" ');
Open;
end;
其中,A为表1,B为表2
关键语句
select 表1.字段1 as 中文字段1,表2.字段2 as 中文字段2 from 库名 where 条件

 
建立一个DATA模板,把所有的TABLE、QUERY等都放在上面,再双击TABLE,ADD ALL FIELDS
,把每一个字段的DISPLAYLABEL设为中文,
在要用到这些数据的窗体里调用这个DATA模板,也就是加入一句USES DATAMODULENAME;
就可以了。
 
lotusleaf,
数据集用查询控件(如tquery)
sql语句:select (字段名) as (要显示的中文)

同意,建议

 
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Active:=true;
Table1.Fields[0].DisplayLabel:='这是中文'
end;
 
在调用SQL语句时,使用AS,例如:
SELECT 字段名 AS 中文字段名 FROM TableName
 
1.在table控件上右击->Fields Editor...
然后在出来的窗体上右击->Add All Fields
可以编辑每个字段的属性

当然如果要每个调用的程序都显示中文字段名的话每个程序都要先写好
要一劳永逸真的只有将数据库的字段名直接用中文
2.另外可以用动态取数组的方法,这样可能比较活一点。
 
接受答案了.
 
后退
顶部