2009-04-22 66 views
0

我有一個整數列,可能有一個數字或沒有分配給它(即在數據庫中爲空)。我如何檢查它是否爲空?如何檢查空值?

我已經試過

if(data.ColumnName == null) 
{ 
    ... 
} 

如果存儲在數據庫中的值是這不工作,要麼(如亞音速不使用可空類型(如適用)ActiveRecord的)

if(data.ColumnName.HasValue) 
{ 
    ... 
} 

0,那麼這將無濟於事:

if(data.ColumnName == 0 /* or 0x000? */) 
{ 
    ... 
} 

DateTime字段也會出現同樣的問題也是如此。

回答

1

發現瞭如何做到這一點。亞音速對所獲得的價值作爲對象,讓空校驗的方法:

if(data.GetColumnValue("Column Name") == null) 
{ 
    ... 
} 
6

嘗試:

如果(數據== System.DBNull)

+0

除了不會編譯。你的意思是要麼{數據== System.DBNull.Value}或{數據是System.DBNull}。 – configurator 2009-04-22 15:04:47

+0

是的,我不得不承認,我寫得很快,沒有想到它。 – jgallant 2009-04-22 15:33:29

0

如果您數據變量是強類型數據行,這可能幫助:

if(data.IsNull("ColumnName")) { ... } 
0

的DBNull是價值的空列。

DBNull是一個值類型。值類型不能爲空。

假設一個SqlDataReader ...檢查null是:

如果(讀者[ 「colname的」)== DBNull.Value)

0

當查詢數據庫處理空在那裏,讓你的生活中的代碼

SQL例如

容易得多
SELECT isNull(columnName, 0) FROM TABLENAME... 

Select isNUll(columnName, 'N/A') FROM TABLENAME ...