各位:
我在vb.net編程時,使用GetSchema獲取表的欄位資訊,能獲得資料型別(DATA_TYPE)值,如129,但無法獲得資料型別的名稱(Type_Name),如129對應的名稱應該是string,請問如何獲得,或如何將型別值129轉換為名稱string,謝謝。代碼簡略后如下:
Dim Conn As new OledbDbConnection
Dim Fields As New DataTable
Fields=conn.GetSchema("Columns", FilterValues)
For Each row As DataRow In Fields.Rows
debug.? row("COLUMN_NAME") & row("DATA_TYPE") '這里,能獲得欄位名稱、資料型別,但沒有型別名稱
next
uj5u.com熱心網友回復:
提供一種思路,你可以直接通過sql陳述句直接拿好用,SQL獲取欄位資訊代碼如下;SELECT
表名= convert(varchar(50), d.name ),
欄位名= convert(varchar(100), a.name),
型別= CONVERT(varchar(50),b.name) + '(' + CONVERT(varchar(10),a.length/2) + ')',
欄位說明=convert(varchar(50), isnull(g.[value],'')),
必填 = case a.isnullable when 1 then '否' else '是' end
FROM dbo.syscolumns a
left join dbo.systypes b on a.xusertype=b.xusertype
inner join dbo.sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join dbo.syscomments e on a.cdefault=e.id
left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.major_id and f.minor_id=0
--where d.name ='WeChatSeeingRules'
where a.name not in( '_Identify','_Locked')
order by d.name
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/21104.html
標籤:疑難問題
