我有一个数据库,其中的列中没有值(因此它是 null
),但我无法在 vb.net 中处理它。我试过这段代码:
reader.Read()
If String.IsNullOrEmpty(reader.GetString(0)) Then
Return
Else
tilbulfolderTextBox.Text = reader.GetString(0)
End If
还有:
If reader.Read() = False Then
和:
If IsDBNull(reader.Read()) Then
但显然它不起作用,因为我在 Else
之后的语句中遇到异常,我无法使用此方法获取 Null
值。
我猜你会通过阅读代码本身来弄清楚我需要从程序中得到什么。
最佳答案
IsDBNull定义 DbDataReader 基础对象的方法来处理这种情况。
当然,如果 reader.Read() 返回 false(意味着没有更多行可用),则您不能尝试读取内容
If reader.Read() Then
If reader.IsDBNull(0) Then
Return
Else
tilbulfolderTextBox.Text = reader.GetString(0)
End If
End If
此外,我没有看到更多你的代码,但请记住,如果你不关闭连接并处置此操作中涉及的对象,以这种方式返回可能是非常错误的
而且,是的,正如其他人指出的那样,Microsoft.VisualBasic 程序集中还有一个名为 IsDBNull 的函数,但是,我更喜欢使用 .NET 框架中定义的类提供的方法,而不是提供的方法为了与以前版本的 VB 兼容
关于sql - vb.net - 从数据库中读取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167056/