2009-05-29 50 views
0

我想根據execute sp_columns MyTableNameSELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'MyTableName'的結果構建一個ParameterCollection對象。Populate ParameterCollection w/sp_columns(或INFORMATION_SCHEMA.Columns)結果

我遇到的問題是爲每個參數分配適當的數據類型......我不確定如何從上述兩個查詢中收集該信息並將其轉換爲System.Data.DbTypeSystem.TypeCode

任何幫助是極大的讚賞。

鏈接:MSDN: sp_columnsMSDN: Information Schema.Columns

編輯:我猜我尋找的是類似Type.GetType("TypeName")將接受SQL數據類型的功能。例如,DbType.GetType("int")DbType.GetType("varchar")

編輯:自答鏈接:MSDN: Enum.Parse Method

回答

1

它實際上是很容易做的:-) SqlDbType是一個枚舉,而且也對Enum類一個不錯的靜態功能,實現只是你找什麼:

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

這樣,您不應該將INFORMATION_SCHEMA查詢的輸出轉換爲SqlParameters集合。

+0

看起來就是這樣。謝謝! – cookbr 2009-06-01 12:55:57