軟件開發(fā)筆記15:DBNull&ISNULL
瀏覽量:3351
1.DBNull
DBNull在DotNet是單獨(dú)的一個類型 System.DBNull ,它只有一個值 DBNull.Value ,DBNull 直接繼承 Object 。
但是為什么 DBNull 可以表示數(shù)據(jù)庫中的字符串,數(shù)字,或日期呢?原因是DotNet儲存這些數(shù)據(jù)的類(DataRow等)都是以 object 的形式來儲存數(shù)據(jù)的。
對于 DataRow , 它的 row[column] 返回的值永遠(yuǎn)不為 null , 要么就是具體的為column 的類型的值 。 要么就是 DBNull 。 所以 row[column].ToString() 這個寫法永遠(yuǎn)不會在ToString那里發(fā)生NullReferenceException。
2.ISNULL
使用指定的替換值替換 NULL。
語法
ISNULL ( check_expression , replacement_value)
參數(shù)
check_expression
將被檢查是否為 NULL的表達(dá)式。check_expression 可以是任何類型的。
replacement_value
在 check_expression 為 NULL時將返回的表達(dá)式。replacement_value 必須與 check_expresssion 具有相同的類型。
返回類型
返回與 check_expression 相同的類型。