0
場景具有包含列varchar(20)之一的表。列大多包含整數值,但我們沒有限制用戶。 90%的用戶輸入50個,但有5%的用戶輸入50個單位。 代碼查詢中定義的如下假設數據類型的鬆散類型數據集
qry = select coalesc(CONVERT(Varchar(20),column1),'') from table1
已經得到C#代碼來填充數據集如下
DataSet ds = loader.LoadDataSet(qry);
現在發生的事情是,.NET運行時得到的第一行,因爲這是一個整數(在大多數情況下),它將該列指定爲int數據類型,在'50單位'等情況下,它返回空白,因爲column1是int(在運行時視圖中),並且在CONVERT(varchar(20),column1)並返回空('')列。
一種替代方法是使用強類型的數據集並完成它,但我很想知道任何其他替代方法在繼續前進之前完成它。