我從存儲過程中獲取一些數據到數據集,然後將該數據複製到列表中。數據中有一些NULL值,我正在用DBNULL.Value進行檢查。但是,無論何時它提供一個NULL值,它給我錯誤DBNull.Value和IsValueNull()之間的區別
錯誤:指定的轉換無效。
這就是我將數據從DataSet複製到List的方法。
AreaId = dsTable.SearchedTable[I]["AreaId"] == DBNULL.Value ? 0 : (long)dsTable.SearchedTable[I]["AreaId"];
有時它工作正常,但有時它會給我錯誤。
而且當我將此DBNULL.Value更改爲IsAreaIdNull()
。它工作正常。
AreaId = dsTable.SearchedTable[I].IsAreaIdNull() ? 0 : (long)dsTable.SearchedTable[I]["AreaId"];
我很困惑,因爲它工作在其他過程中完全沒有什麼錯DBNull.Value。即使在其他值的同一過程中。我錯過了什麼嗎?
任何形式的幫助將不勝感激。
這不是'= DBNULL.Value'但'== DBNULL.Value ' –
是的抱歉,這是一個錯字錯誤。已更正 –
變量areaID不能爲空。這就是爲什麼我在複製數據時檢查它的原因 –