我在VB.NET工作,我想知道Nothing
和System.DBNull
之间的区别。
当我在那时触发保存查询时,我在运行时从网格给出值,如下所示:
gvMain.Rows(j).Cells("Brand").Value.ToString()
但是当它的值为Nothing
时,它会显示错误,并且当它的值为System.DBnull
时,它会完美地运行。
在这种情况下该怎么办?
提前致谢
答案 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