0

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

我收到这个错误

NullReferenceExeption 未处理 - “对象引用未设置为对象的实例。” on this part of my codemaxrows = 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
4

1 回答 1

0

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

采取以下步骤:

  • 将鼠标悬停在ds或右键单击并选择快速观看,看看它是否显示null
  • 如果不是,请突出显示ds.Tables("asdf")并快速观看它,看看它是否是null.
  • 如果不是,则突出显示ds.Tables("asdf").Rows并查看是否为 null.

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

于 2012-05-21T19:09:48.430 回答