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

如何改變tabel的field名稱在DBGrid title顯示?

答題得分者是:cashxin2002
mathewzhao
中階會員


發表:121
回覆:164
積分:67
註冊:2003-04-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-30 14:58:36 IP:61.134.xxx.xxx 未訂閱
各位先進好! 我使用ADOquery從資料庫取出數據,在DBgrid中顯示 Q: 在資料庫的table中field的名稱為英文,如何在DBgrid中title顯示中文 我想用如下SQL語句: Select Name '姓名',gender '性别' from STD 但是: adoQuery1.SQL.Add(''); 已將'' 使用,沒法使用: adoQuery1.SQL.Add('Select Name '姓名',gender '性别' from STD'); 請問是否有其他方法,謝謝!
Winifred
初階會員


發表:3
回覆:34
積分:47
註冊:2002-07-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-30 15:21:08 IP:61.221.xxx.xxx 未訂閱
試試 DBGrid1.Columns[0].Title.Caption :='測試';
cashxin2002
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-30 16:30:36 IP:63.84.xxx.xxx 未訂閱
您好﹒    至于您的問題﹐我想如果僅僅是想在查詢時在DBGrid中顯示中文欄位標題的話﹐就不需要將資料表中的欄位名加入欄位編輯器中﹐因為那樣的話﹐是無法使用如 ﹕'Select Name As 姓名 From 資料表'之類的查詢語法﹒所以針對您的問題﹐是不需要把資料表欄位名加入DBGrid的欄位編輯器中﹐將欄位編輯器所有的內容移除(方法﹕選中所有欄位﹐按滑鼠右鍵﹐選擇移除)而后的Select語法就可以按您的要求顯示出中文欄位名了﹒ 例如﹕ adoQuery1.SQL.Add('Select Name As 姓名,gender As 性别 from STD'); adoQuery1.Open; 有關DBGrid設定顯示標題文字的方法﹕ 1﹒在設計時期設定DBGrid的標題欄方法﹕ 雙擊DBGrid元件﹐開啟其欄位編輯器﹐在欄位編輯器中點滑鼠右鍵﹐然后選擇Add all Fields 即將相對應資料表的所有的Field都加入進來﹐再分別點擊每個欄位名﹐在其Title屬性中的Caption中輸入你想此欄位顯示的欄位名﹒ 注﹕在DBGrid的欄位編輯器中若已將所對應資料表欄位加入了﹐即使資料表處于Close狀態﹐DBGrid中也會有欄位名稱的顯示(就是剛才輸入的Caption屬性值)﹐當在DBGrid中將資料欄位名加放后﹐Select語法就不能將查詢后資料顯示時的欄位名做以更改﹐如Select Name As 姓名 From 資料表 2﹒執行時期設定DBGrid的標題欄方法﹕ 如Winifred所述﹐引用如同'DBGrid1.Columns[0].Title.Caption := '測試';'的Code即可﹐其中Columns后面的參數是代表欄位的索引位置﹐需從[0]開始計算 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/07/30 16:48:23
------
忻晟
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-30 16:55:45 IP:210.243.xxx.xxx 未訂閱
引言: 各位先進好! 我使用ADOquery從資料庫取出數據,在DBgrid中顯示 Q: 在資料庫的table中field的名稱為英文,如何在DBgrid中title顯示中文 我想用如下SQL語句: Select Name '姓名',gender '性别' from STD 但是: adoQuery1.SQL.Add(''); 已將'' 使用,沒法使用: adoQuery1.SQL.Add('Select Name '姓名',gender '性别' from STD'); 請問是否有其他方法,謝謝!
應該是要用 Select Name as 姓名, gender as 性別 from STD 才行說.......少了個AS吧,不然Delphi應該會抓SQL語法裡面的欄位名稱
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-30 22:33:33 IP:218.32.xxx.xxx 未訂閱
嗯...我覺得 Winifred 的做法比較妥當, 因為如果要用 ADOQuery 去 ApplyUpdate 時, 要將 "姓名" Map 回 "Name" 恐怕很困難... 另外, 更改 TField.DisplayLabel Property -> "姓名" 也是不錯的做法.
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-31 12:17:38 IP:61.221.xxx.xxx 未訂閱
mathewzhao你好: 使用QuotedStr來區隔文字替代--> '' EX: adoQuery1.SQL.Add('Select Name ' QuotedStr('姓名') ',gender' QuotedStr('性别') ' from STD'); 發表人 - ko 於 2003/07/31 12:19:06
------
======================
昏睡~
不昏睡~
不由昏睡~
系統時間:2024-11-26 12:37:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!