將DataTable的欄位名全部翻譯為中文並返回

2021-05-21 20:42:11 字數 687 閱讀 1996

一般在**裡想要查詢並顯示出乙個datatable很容易,只要將查詢到的datatable作為某個控制項的datasource就ok了,但是此datatable的字段全部都為英文本段,怎樣將其全部改為中文呢?

現在我已經知道各個英文本段的中文名稱,且字段的翻譯資訊全部存為一張表,叫字段說明表(columntranslation),建此表的sql語句為:

create table columntranslation

(id   number(10) primary key,

columnname   varchar2(50),       //欄位名稱

translation   varchar2(50)         //字段對應的中文名稱

)自己先放幾個資料進去,使這張表裡有幾條記錄,例如:studentname對應的是「學生姓名」。

那麼現在我已經由乙個datatable了,它的欄位名全部都為英文,我只需執行以下**就可將其翻譯過來,並返回翻譯過後的datatable:

這種方法的思想是根據待翻譯的datatable構造新的datatable:新的datatable的每一列的列名為翻譯後的中文名(若英文列名無翻譯,則保留英文列名,若能翻譯,則翻譯過來),構造好新的datatable的字段資訊後,再一條條的把舊的datatable的記錄插入到新的datatable中去。

呵呵,繞彎了...但是速度還是可以的。

SQL Server更改欄位名

更改欄位名 列名 sp rename 表名.原列名 修改後的列名 column 我感覺下面的內容也挺實用,就隨手摘錄下來吧 修改字段 alter table 表名 alter column 欄位名 nvarchar 50 null 重新命名表 access 重新命名表,請參考文章 在access資料...

查詢表的欄位名

select name from syscolumns where id in select id from sysobjects where type u and name 相應表名 用以上sql語句輸入相應表名就可以查到表的欄位名,對應好資料庫 查詢是否存在該錶語句 if exists sele...

將oracle 表名,欄位名變為大寫

注 以下指令碼在oracle 10g,11g上正確執行 批量將表名變為大寫 begin for c in select table name tn from user tables where table name upper table name loop begin execute immedi...