没有什么和system.DBNull之间的区别

时间:2013-01-30 09:43:52

标签: vb.net winforms winapp

我在VB.NET工作,我想知道NothingSystem.DBNull之间的区别。

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

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

但是当它的值为Nothing时,它会显示错误,并且当它的值为System.DBnull时,它会完美地运行。

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

2 个答案:

答案 0 :(得分:7)

关键字Nothing用于指定或指定引用类型的var未指向任何内容,不为此var实例化对象。

另一方面,

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

答案 1 :(得分: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