Vb.net 开始获取错误“;操作员'=';未为类型DBNULL和字符串定义

Vb.net 开始获取错误“;操作员'=';未为类型DBNULL和字符串定义,vb.net,Vb.net,我最近开始犯这个错误,我不知道为什么。没有什么新的变化,我真的需要一些帮助 If e.Value = "Departure" Then dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightPink dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightPink dgvNotify.

我最近开始犯这个错误,我不知道为什么。没有什么新的变化,我真的需要一些帮助

        If e.Value = "Departure" Then
            dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightPink
            dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightPink
            dgvNotify.Item(2, e.RowIndex).Style.BackColor = Color.LightPink

            'dgvNotify.DefaultCellStyle.SelectionBackColor = Color.LightPink
            'dgvNotify.DefaultCellStyle.SelectionForeColor = dgvNotify.DefaultCellStyle.ForeColor

        Else
            dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightGreen
            dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightGreen
            dgvNotify.Item(2, e.RowIndex).Style.BackColor = Color.LightGreen

            'dgvNotify.DefaultCellStyle.SelectionBackColor = Color.LightGreen
            'dgvNotify.DefaultCellStyle.SelectionForeColor = dgvNotify.DefaultCellStyle.ForeColor

        End If
    End If
End Sub

您的
e.Value
似乎是
NULL
,因此您需要改进
如果

If CStr("" & e.Value) = "Departure" Then
    dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightPink
    dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightPink
    dgvNotify.Item(2, e.RowIndex).Style.BackColor = Color.LightPink

    'dgvNotify.DefaultCellStyle.SelectionBackColor = Color.LightPink
    'dgvNotify.DefaultCellStyle.SelectionForeColor = dgvNotify.DefaultCellStyle.ForeColor
Else
    dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightGreen
    dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightGreen
    dgvNotify.Item(2, e.RowIndex).Style.BackColor = Color.LightGreen

    'dgvNotify.DefaultCellStyle.SelectionBackColor = Color.LightGreen
    'dgvNotify.DefaultCellStyle.SelectionForeColor = dgvNotify.DefaultCellStyle.ForeColor
End If
CStr(“&e.Value)
e.Value
转换为字符串值:

CStr("" & DBNull.Value)  ' ""
CStr("" & Nothing)       ' ""
CStr("" & "Hello World") ' "Hello World"

您的
e.Value
似乎是
NULL
,因此您需要改进
如果

If CStr("" & e.Value) = "Departure" Then
    dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightPink
    dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightPink
    dgvNotify.Item(2, e.RowIndex).Style.BackColor = Color.LightPink

    'dgvNotify.DefaultCellStyle.SelectionBackColor = Color.LightPink
    'dgvNotify.DefaultCellStyle.SelectionForeColor = dgvNotify.DefaultCellStyle.ForeColor
Else
    dgvNotify.Item(0, e.RowIndex).Style.BackColor = Color.LightGreen
    dgvNotify.Item(1, e.RowIndex).Style.BackColor = Color.LightGreen
    dgvNotify.Item(2, e.RowIndex).Style.BackColor = Color.LightGreen

    'dgvNotify.DefaultCellStyle.SelectionBackColor = Color.LightGreen
    'dgvNotify.DefaultCellStyle.SelectionForeColor = dgvNotify.DefaultCellStyle.ForeColor
End If
CStr(“&e.Value)
e.Value
转换为字符串值:

CStr("" & DBNull.Value)  ' ""
CStr("" & Nothing)       ' ""
CStr("" & "Hello World") ' "Hello World"

您不应该在图像中发布代码…直接发布您的代码,而不是我们需要导航到别处才能看到的图像。当您直接发布时,请确保格式正确。无论如何,问题是您没有考虑从数据库中获取空值的事实。如果之前没有发生过这种情况,那么您的数据库中以前可能没有任何空值。您是否费心调试代码,以查看抛出异常时发生的情况?是的,当我开始调试时,我得到了一个错误。System.InvalidCastException:'Operator'='未为类型'DBNull'和字符串'Extaction'定义。'You't not post code in image…post your code directly,not as image of the will way to see to seen。当您直接发布时,请确保格式正确。无论如何,问题是您没有考虑从数据库中获取空值的事实。如果之前没有发生过这种情况,那么您的数据库中以前可能没有任何空值。您是否费心调试代码,以查看抛出异常时发生的情况?是的,当我开始调试时,我得到了一个错误。System.InvalidCastException:'Operator'='未为类型'DBNull'和字符串“Exteration”定义。此答案可能会解决您的问题,但值得注意的是,如果这是一个新问题,您突然遇到,它可能是另一个问题的症状,指示您的程序允许在以前不允许的表中使用null。所以,如果是这样的话,不要忽视这一点!这个答案可能会解决您的问题,但值得注意的是,如果这是一个新问题,您突然遇到了,这可能是另一个问题的症状,表明您的程序允许在以前不允许的表中使用null。所以,如果是这样的话,不要忽视这一点!