【发布时间】:2012-05-27 14:18:53
【问题描述】:
我在向我的访问数据库发送数据时遇到问题。
我收到此错误
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
【问题讨论】:
-
当您尝试调用空对象的方法时,您会收到此错误。在这种情况下,这意味着您的数据集 ds 或表为空。
-
我将如何解决这个错误?对不起,我刚接触 vb 编程。
-
好吧,我将从 ds 对象开始。它在哪里声明?我在您列出的代码中的任何地方都没有看到它。
-
好吧,您已经声明了它,(否则您的代码将无法编译)但是,ds 需要在某处初始化并填充表格。你有
ds = New DataSet()和daAdapter.Fill(ds)还是手动向这个数据集添加了表?没有第一个代码就不能使用 ds,没有第二个代码就不能使用数据集中的表。
标签: vb.net visual-studio-2010 nullreferenceexception