使用下面给出的代码时显示一个错误。错误是:Operator'
代码:
If sdr1.Read Then
If sdr1(1) <> "" Then
NameLabel.Text = sdr1(0).ToString + " " + sdr1(1).ToString + " " + sdr1(2).ToString
Else
NameLabel.Text = sdr1(0).ToString + " " + sdr1(2).ToString
End If
dept_id.Text = sdr1(3)
End If
sdr1.Close()
在任何操作中使用数据之前,您需要检查您正在比较的数据是否为NULL:
If sdr1.Read Then
If Not IsDbNull(sdr1(1)) Then
If sdr1(1) <> "" Then
NameLabel.Text = sdr1(0).ToString + " " + sdr1(1).ToString + " " + sdr1(2).ToString
Else
NameLabel.Text = sdr1(0).ToString + " " + sdr1(2).ToString
End If
End If
dept_id.Text = sdr1(3)
End If
sdr1.Close()
或者你可以简单地使用
If sdr1.Read Then
If Not IsDbNull(sdr1(1)) Then
NameLabel.Text = sdr1(0).ToString + " " + sdr1(1).ToString + " " + sdr1(2).ToString
Else
NameLabel.Text = sdr1(0).ToString + " " + sdr1(2).ToString
End If
dept_id.Text = sdr1(3)
End If
sdr1.Close()
您的列包含一个空值。在尝试进行其他比较之前,您必须检查是否为空。
所以…
If DBNull.Value Is sdr1(1) Then
' Got a null value from the database.
End If
如果您不关心值是否为空或为空-只想对它们一视同仁…
If String.IsNullOrEmpty(sdr1(1)) Then
' The value is either null or empty.
End If
使用if sdr1(1)IsNot""然后
或if Not IsDBNull(sdr1(1))
然后改为