我有一個SQL存儲過程,它將數據集返回給ASP.NET v3.5數據集。數據集中的一列被稱爲Attend,並且是SQL表中的一個可爲空的位列。在選擇該列是這樣的:數據集列總是返回-1
CASE WHEN Attend IS NULL THEN -1 ELSE Attend END AS Attend
當我在查詢分析器中執行的SP值返回,因爲他們應該行 - 爲參加值爲-1是一些行,其他0,另外1人。但是,當我調試C#代碼並檢查數據集時,Attend列始終包含-1。
如果我選擇任何其他列或常量值來參加結果總是正確的。它只是上面的SELECT字段行爲奇怪。我懷疑它與位的類型有關。因此,爲了測試這個,我選擇了「CONVERT(int,Attend)」,但行爲是一樣的。
我已經嘗試使用ExecuteDataset檢索數據,並且我還創建了一個帶有TableAdapter和DataTable的.NET數據集架構。仍然沒有運氣。
有沒有人知道這裏有什麼問題?
Attend列中不存在任何負數,只是NULL,True和False。另外,更改別名沒有幫助。感謝您的想法。 – Dewey 2010-08-21 22:42:38
更改數據類型的想法是嘗試讓您的DataSet像int列那樣對待Attend列而不是位列。 – 2010-08-21 23:13:30