使用sp_columns(或INFORMATION_SCHEMA.Columns)结果填充ParameterCollection

时间:2009-05-29 19:55:52

标签: asp.net sql-server-2005 data-binding parameters

我想根据execute sp_columns MyTableNameSELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'MyTableName'的结果构建一个ParameterCollection对象。

我遇到的问题是为每个参数分配适当的数据类型......我不确定如何从上述两个查询中收集信息并将其转换为System.Data.DbType或{ {1}}。

非常感谢任何帮助。

链接:MSDN: sp_columnsMSDN: Information Schema.Columns

编辑:我想我正在寻找的是与System.TypeCode类似的功能,可以接受SQL数据类型。例如,Type.GetType("TypeName")DbType.GetType("int")

编辑:答案:MSDN: Enum.Parse Method

的链接

1 个答案:

答案 0 :(得分:1)

实际上这很容易:-) SqlDbType是一个枚举,在Enum类上有一个很好的静态函数,可以完成你想要的东西:

 private  SqlDbType ConvertType(string typeName)
 {
      return (SqlDbType)Enum.Parse(typeof(SqlDbType), typeName, true);
 }

有了这个,您可以毫无困难地将INFORMATION_SCHEMA查询的输出转换为SqlParameters集合。