从数据库表处理空

时间:2018-06-27 16:30:25

标签: sql-server vb.net datagridview

我在datagridview(Winform)上显示数据库表,并且我注意到该表的所有空值都已在datagridview上转换为类似于空格的内容。 如果我检查单元格的值为Null,则该语句变为false

dgv.Rows(r).Cells("Fld").Value Is Nothing = True

如果我查询单元格中字符串的长度,则会收到错误消息(因此它们可能不是空格)。

理想情况下,我想避免进行转换(在datagridview上具有数据库表中的所有null)。有什么办法可以停止转换?

如果这不可能,我如何确定这些单元格现在所容纳的是什么?

2 个答案:

答案 0 :(得分:2)

null,没有什么是两个不同的东西...

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

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

这里您需要使用dbnull ...

答案 1 :(得分:1)

单元格中的值为System.DBNull。 您可以使用IsDBNull方法对其进行测试。

例如:

If IsDBNull(dgv.Rows(r).Cells("Fld").Value) Then
   ' Do Something
End If