如何根据DATA_TYPE获得Type_Name

bhguo 2020-06-29 11:06:34
各位:
我在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
...全文
106 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
向阳的花儿 2020-06-29
  • 打赏
  • 举报
回复
提供一种思路,你可以直接通过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

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧