4

我在 VB.NET 中工作,我想知道 和 之间的Nothing区别System.DBNull

当我当时触发保存查询时,我在运行时从网格中给出值,如下所示:

gvMain.Rows(j).Cells("Brand").Value.ToString()

但是当它的值为 时它会向我显示错误,并且当它的Nothing值为System.DBnull

在这种情况下该怎么办?
提前致谢

4

2 回答 2

7

关键字Nothing用于指定或指定引用类型的 var 没有指向任何东西,没有对象为此 var 实例化。

DBNull.Value另一方面,是一个对象,用于指出DataBase 的某个字段的类型为空值。

于 2013-01-30T09:53:49.757 回答
3

Nothing是类型System.Object.

它代表任何数据类型的默认值。

DBNull.Value是类型System.DBNull

如果某物显示为System.DBNull,这意味着即使它没有值,它也有一个有效的指针。您可能已经发现,它不能转换为字符串、整数等。您必须进行检查(最好使用IsDBNull.

If IsDBNull(gvMain.Rows(j).Cells("Brand").Value) Then
    Return String.Empty
Else
    Return gvMain.Rows(j).Cells("Brand").Value.ToString().Trim()
End If
于 2014-04-23T16:08:41.460 回答