查询数据库中的表,返回字段相对应的数据类型!

来源:互联网 发布:mysql创建外键语句 编辑:程序博客网 时间:2024/03/29 20:00

上周的时候,项目相关的数据库底层做了一些改动,比如某一张表的一个字段的data type从bit变成int ,牵连着我的code当然也要做一些改动!不巧的是,old version和new version的数据库是并存的,就是说有可能数据库A中的data type依旧是bit, 但是数据库B的data type却被update成了int。这就需要我去查询数据库中的表,返回字段相对应的数据类型喽。

最开始是想直接找一条Sql语句去query,但是找了半天无果!

只好用C# Code去解决!

想法:利用最简单的“select * from [table]”,获取DataReader,这个DataReader中肯定包含了table的filed信息,包括column name,column data type.....

 

返回的HashTable 对象包含了table的column name(key)和column data type(value)。

但是需要传个Sql语句string进去!

比如Hashtable Override_ListingTable = GetTableDataType("select top (1) * from [Relevance].Override_Listings");

接下来要判断DB是old还是new,直接用Override_ListingTable["fieldName"]就OK了!

 

当然,要是知道Sql语句直接去query table的字段的data type就更方便了。

原创粉丝点击