IsDBNull和IsNullOrEmpty的区别

有時候,資料庫的某一個欄位,裡面是「Null」值的時候,ASP.NET無法把這樣的 Null值,呈現在畫面上。因為ASP.NET不會自動把Null值轉換成一般的字串(String),因此會出現錯誤訊息。……關於Null的定義,請參考資料庫的相關書籍。

例如:資料庫裡面,有個欄位test123的值剛剛好是「Null」。
那麼,我們想要把這個欄位呈現在網頁上,下面這行程式碼一定會出錯!
<%  Response.Write( dr.Item(“test123”) )  %>
為了避免這種例外錯誤的產生,在後置程式碼(Code Behind)裡面,我們必須要一個IF判別式來防堵:

IF   Not   dr.Item(“test123”)   Is DBNull.Value   Then
      ‘--註解:如果 test123欄位的值,不是「Null」的話,才會執行這區。
       Response.Write(dr.Item(“test123”))
End IF

如果是用資料繫結運算式,寫在HTML裡面(.aspx檔),請用下列作法:
Convert.IsDBNull(Eval("column"))

或是

Eval("Column").Equals(System.Data.DbNull)
資料來源: http://tw.knowledge.yahoo.com/question/question?qid=1508091105980

摘錄:   資料庫的 NULL 值是一個標記 ,標示說資料庫目前這個欄位是空的,它的本質和空字串也不同,所以用 string.IsNullOrEmpty(myField.Value) 是無法判斷它是否為 NULL 值的,這也就是為什麼 DataRow 要提供一個 IsNull() 方法,而 DataReader 要多一個 IsDBNull() 的方法,就是因為 NULL 值的獨特性。
[秋风:以上资料来源微软高级MVP]
------------------------------------------------------------------------------------
C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别

最佳答案
null是C#关键字,是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。DBNULL表示类,表示空值.该类用于指示不存在某个已知值(通常在数据库应用程序中)。在数据库应用程序中,空对象是字段的有效值。该类区分空值(空对象)和未初始化值(DBNull.Value 实例)。例如,表可以包含具有未初始化字段的记录。默认情况下,这些未初始化字段具有 DBNull 值。String.Empty表示空字符串,该属性为只读.Convert.IsDBNULL(object value)是一个方法,就是判断参数对象是否为DBNULL对象类型,如果是返回true,不是返回false
null可赋值任何变量,将变量置为空DBNull只用于DataRow对象,表示数据库中的空值String.Empty是0长度字串Convert.IsDBNull判断是否为DBNull

转载于:https://www.cnblogs.com/silverLee/archive/2009/11/05/1596822.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值