線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1088
推到 Plurk!
推到 Facebook!

在Query中,怎样把字段名改成中文的

尚未結案
小丫123
初階會員


發表:85
回覆:62
積分:29
註冊:2004-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-06 19:39:55 IP:218.65.xxx.xxx 未訂閱
我用的数据库是MYSQL,在table中将字段名改成中文的是  
FieldByName('xh').DisplayLabel:='学号'; 
那当Query连接了几个表以后,想将其中的字段名也变成中文的该怎样实现呢?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-06 21:41:05 IP:202.39.xxx.xxx 未訂閱
可用如下的方式試試: 
begin
  Query1.Close;
  Query1.SQL.Text := 'Select Field1 as 欄位一, Field2 as 欄位二 ... From Table1';
  Query1.Open;
end;
小丫123
初階會員


發表:85
回覆:62
積分:29
註冊:2004-08-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-06 21:53:56 IP:218.65.xxx.xxx 未訂閱
运行有错,是不是MYSQL不支持这种语言呢? 还是我的程序有问题呢?
var
  sqlstr:string;
begin
  sqlstr:='SELECT t_xsb.xm ,t_xsb.csny,t_xsb.zt ,td_zydm.zymc ,td_xbdm.xbmc from t_xsb ';
  sqlstr:=sqlstr ' inner join td_zydm on t_xsb.zydm=td_zydm.zydm';
  sqlstr:=sqlstr ' inner join td_xbdm on t_xsb.xbdm=td_xbdm.xbdm';
  query1.Close;
  query1.SQL.Clear ;
  query1.SQL.Add(sqlstr);
  Query1.SQL.Text := 'Select t_xsb.xm as 姓名from t_xsb';
  query1.Open;
end; 
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-06 22:07:21 IP:219.129.xxx.xxx 未訂閱
引言: 运行有错,是不是MYSQL不支持这种语言呢? 还是我的程序有问题呢?
var
  sqlstr:string;
begin
  sqlstr:='SELECT t_xsb.xm as 姓名,t_xsb.csny,t_xsb.zt ,td_zydm.zymc ,td_xbdm.xbmc from t_xsb ';
  sqlstr:=sqlstr ' inner join td_zydm on t_xsb.zydm=td_zydm.zydm';
  sqlstr:=sqlstr ' inner join td_xbdm on t_xsb.xbdm=td_xbdm.xbdm';
  query1.Close;
  query1.SQL.Clear ;
  query1.SQL.Add(sqlstr);
  Query1.SQL.Text := 'Select t_xsb.xm as 姓名from t_xsb';出现了两个select的,所以会错,不用写此句
  query1.Open;
end; 
小丫123您好:试试看
——行径窄处,留一步与人行——
peterpcc
一般會員


發表:6
回覆:37
積分:13
註冊:2004-09-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-06 22:07:25 IP:221.239.xxx.xxx 未訂閱
'Select t_xsb.xm as 姓名from t_xsb'; 姓名from 這兒黏住了,給個空白就行了.
小丫123
初階會員


發表:85
回覆:62
積分:29
註冊:2004-08-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-06 22:17:02 IP:218.65.xxx.xxx 未訂閱
还是报错MYAQL sever version for the right syntax to use near'出生年月'... 
 sqlstr:='SELECT t_xsb.xm as 姓名 ,t_xsb.csny as出生年月,t_xsb.zt as 状态 ,td_zydm.zymc as 公寓名称 ,td_xbdm.xbmc as系别名称from t_xsb ';
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-06 23:12:24 IP:219.129.xxx.xxx 未訂閱
引言: 还是报错MYAQL sever version for the right syntax to use near'出生年月'...
 sqlstr:='SELECT t_xsb.xm as 姓名 ,t_xsb.csny as 出生年月,t_xsb.zt as 状态 ,td_zydm.zymc as 公寓名称 ,td_xbdm.xbmc as 系别名称 from t_xsb ';
空出一格,试试
——行径窄处,留一步与人行——
小丫123
初階會員


發表:85
回覆:62
積分:29
註冊:2004-08-31

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-07 09:25:08 IP:218.65.xxx.xxx 未訂閱
还是错报错 如果改成英文就不会报错  
 sqlstr:='SELECT t_xsb.xm as xm ,t_xsb.csny as csny,t_xsb.zt as zt ,td_zydm.zymc as gymc ,td_xbdm.xbmc as xbmc from t_xsb
發表人 - 小丫123 於 2004/12/07 09:28:18
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-12-07 09:36:47 IP:202.39.xxx.xxx 未訂閱
中文部份用中括號括起來或用雙引號包起來試試 比方:
  ...
  Query1.Text := 'Select Field1 as "欄位一", Field2 as [欄位二] ...';
  ...
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-12-07 09:37:11 IP:202.62.xxx.xxx 未訂閱
小丫﹐您好﹗    在SQL語法敘述時﹐不要忽略其中的空格﹐和其空格所在的位置﹐如您的語句 中﹐除了deity所指的部分﹐我看到還有其它位置的空格忽略﹐如下以紅色下劃線代表所有的空格﹐您再試試看﹗    sqlstr:='SELECT_t_xsb.xm_as_姓名, _t_xsb.csny_as_出生年月,_ t_xsb.zt_as_状态,_td_zydm.zymc_ as_公寓名称,_td_xbdm.xbmc_as _系别名称_from_t_xsb'; ========================= 我是您的朋友﹐有您真好﹗ =========================
------
忻晟
小丫123
初階會員


發表:85
回覆:62
積分:29
註冊:2004-08-31

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-12-07 10:04:16 IP:218.65.xxx.xxx 未訂閱
非常感谢大家热心指导,我的问题解决了,根据cashxin2002注意空格,再按照hagar的解决方法将中文部份用雙引號包起來。 大家对我的帮助都非常大,如果可以不止给一个人加分的话,我真的想给大家都加。
系統時間:2024-06-14 18:52:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!