运营商' ='未定义类型' DBNull'并输入'布尔'。?? /

时间:2014-09-26 03:57:38

标签: vb.net null

我将在我的出席时计算已选中和未选中的复选框,但是在我的代码中出现。“运算符'='未定义为'DBNull'类型并键入'Boolean'。??”...请帮助..非常感谢您的帮助。谢谢

我的代码:

下一步

    Dim Present As Integer = 0
    Dim Absent As Integer = 0
    For a = 0 To Table2___lieDataGridView.RowCount - 1
        For b = 0 To Table2___lieDataGridView.ColumnCount - 8
            If Table2___lieDataGridView.Rows(a).Cells(b + 5).Value = True Then

                Present += 1
            Else
                Absent += 1
            End If
        Next
        Table2___lieDataGridView.Rows(a).Cells(10).Value = Present
        Table2___lieDataGridView.Rows(a).Cells(11).Value = Absent
        Present = 0
        Absent = 0


    Next

2 个答案:

答案 0 :(得分:1)

在进行比较之前,您需要使用IsDBNull函数检查空值。

If Not IsDBNull(Table2___lieDataGridView.Rows(a).Cells(b + 5).Value) AndAlso Table2___lieDataGridView.Rows(a).Cells(b + 5).Value Then
End If

答案 1 :(得分:0)

在将Value与True进行比较之前,应检查Value是否实际上不是DBNull类型。 这是因为您的数据库中碰巧有空值,并且在这种情况下没有针对布尔值的比较运算符。

例如,看看这个问题:Handling DBNull data in VB.Net