小编典典

vb.net-从数据库读取空值

sql

我有一个数据库,其中列中没有值(所以是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值之后,我在语句上出现了异常。我想您会通过阅读代码本身来弄清楚我对程序的要求。


阅读 228

收藏
2021-04-28

共1个答案

小编典典

定义了DbDataReader基础对象的IsDBNull方法来处理这种情况。
当然,如果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框架中定义的类提供的方法,而不是使用与.NET框架兼容的方法。
VB的早期版本

2021-04-28