NullReferenceException未处理“对象引用未设置为对象的实例”。

时间:2012-05-21 03:27:26

标签: vb.net visual-studio-2010 nullreferenceexception

我在向访问数据库发送数据时遇到问题。

我收到此错误

  

NullReferenceExeption未处理 - “对象引用未设置为对象的实例。”on this part of my code maxrows = ds.Tables(“asdf”)。Rows.Count

这意味着什么?

这是我的代码:

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

    ID = TextID.Text
    FName = Textfname.Text
    LName = Textlname.Text
    If con.State = ConnectionState.Closed Then
        con.Open()
    End If

    If TextID.Tag & "" = "" Then
        cmd = New OleDbCommand("INSERT INTO asdf(ID,fname,lname) " & _
        "VALUES(' " & TextID.Text & "', '" & Textfname.Text & "', '" & Textlname.Text & "')", con)
        cmd.ExecuteNonQuery()
    Else
        cmd.CommandText = "UPDATE asdf" & _
        "SET ID=" & TextID.Text & _
        ", fname='" & Textfname.Text & "'" & _
        ",lname ='" & Textlname.Text & "'" & _
        ", WHERE ID =" & TextID.Tag
    End If

    btnClear.PerformClick()

    MessageBox.Show("Data successfully saved!")
    maxrows = ds.Tables("asdf").Rows.Count ' <---- Exception occurs here
    inc = 1
    con.Close()
    RefreshData()

End Sub

1 个答案:

答案 0 :(得分:0)

在这行代码上放置一个断点(F9或点击边距):maxrows = ds.Tables("asdf").Rows.Count并运行它。

采取以下步骤:

  • 将鼠标悬停在ds上或右键单击并选择“快速监视”并查看是否存在 说null
  • 如果没有,请高亮显示ds.Tables("asdf")并快速观察和 看看它是null
  • 如果没有,请突出显示ds.Tables("asdf").Rows并查看是否存在 null

如果它在那里崩溃,其中一个必须为null。如果是这种情况,那么你没有正确填写它,或者没有任何东西可以填充它。