Зависит от вас, Dim x
может быть другим. Если опция infer
равна On
, это reader
здесь
Dim x = cmd.ExecuteReader()
Но в вашем случае это object
, потому что с option infer
вам нужно объявить и назначить в одной строке. вам нужно сделать Dim x as OleDbDataReader
. Таким образом, вы увидите ошибку intellisence на IsDBNull
. Вы действительно столкнулись с ошибкой позднего связывания здесь
Вы должны сделать это
If DbNull.Value.Equals(x("EmailAddress")) Then
Это решит вашу проблему. Но у вас есть больше проблем. Хорошо, если вы выбираете одну строку / одно значение, просто используйте ExecuteScalar
.
Или, по крайней мере, выполните
If x.Read() AndAlso Not DbNull.Value.Equals(x("EmailAddress")) Then
Email.Text = x("EmailAddress").ToString()
End If