我想根据execute sp_columns MyTableName
或SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'MyTableName'
的结果构建一个ParameterCollection对象。
我遇到的问题是为每个参数分配适当的数据类型......我不确定如何从上述两个查询中收集信息并将其转换为System.Data.DbType
或{ {1}}。
非常感谢任何帮助。
链接:MSDN: sp_columns,MSDN: Information Schema.Columns
编辑:我想我正在寻找的是与System.TypeCode
类似的功能,可以接受SQL数据类型。例如,Type.GetType("TypeName")
或DbType.GetType("int")
。
编辑:答案:MSDN: Enum.Parse Method
的链接答案 0 :(得分:1)
实际上这很容易:-) SqlDbType是一个枚举,在Enum类上有一个很好的静态函数,可以完成你想要的东西:
private SqlDbType ConvertType(string typeName)
{
return (SqlDbType)Enum.Parse(typeof(SqlDbType), typeName, true);
}
有了这个,您可以毫无困难地将INFORMATION_SCHEMA查询的输出转换为SqlParameters集合。