vb.net,正确处理dbnull值

问题描述 投票:0回答:1

我编写了代码,当用户名与登录我的程序的用户名相同时,该代码会从访问数据库中检索电子邮件地址。我希望在名为Email

的文本框中显示电子邮件地址值
Dim x
        If ConnectionDb.State = ConnectionState.Closed Then ConnectionDb.Open()
        Dim cmd As OleDbCommand = ConnectionDb.CreateCommand
        cmd.CommandText = " SELECT ID, EmailAddress, TelephoneNo FROM tblContacts WHERE ID='" & NameVariable & "'"
        x = cmd.ExecuteReader()
        While x.Read()
            If x("EmailAddress").IsDBNull(0) Then
                Return
            Else
                Email.Text = x.GetString(0)
            End If

但是,由于某些用户没有EmailAddress的值,因此在运行该程序时收到以下错误:

[System.MissingMemberException: 'Public member 'IsDBNull' on type 'DBNull' not found.'-第7行

我也希望为TelephoneNo值添加功能,使其也显示在表单上的文本框中。如何在程序不出错的情况下成功检查空值?

vb.net ms-access error-handling dbnull
1个回答
0
投票

您应该这样做

If DbNull.Value.Equals(x("EmailAddress")) Then

这将解决您的问题

© www.soinside.com 2019 - 2024. All rights reserved.