错误:对象引用未设置为对象的实例。请帮我

时间:2013-08-16 14:38:01

标签: vb.net visual-studio-2010 oracle oracle10g

我制作了一个寄宿公寓系统,一切顺利,直到我发现这个错误。当我点击btnDone时,我想将它保存到我的Oracle数据库中。我不知道为什么我可以通过dsNewRow下的boarderpic将boarder_id保存到我的tblBoarder2中,但是在dsNewRow2下,我似乎无法将它保存在我的另一个表tblAddItems上。

我不明白如何编码。有人可以帮忙吗?提前致谢。我真的很喜欢编码,并且自从过去两个月以来对vb.net感兴趣,所以我的经验很低。

这是我的代码:

Private Sub btnDone_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDone.Click
        Dim cb As New OleDb.OleDbCommandBuilder(da)
        Dim picfaculty As String
        Dim filetocopy As String
        Dim newcopy As String

        filetocopy = picPath

        newcopy = Application.StartupPath & "\Images\" & Form3.lblPicname.Text
        If System.IO.File.Exists(filetocopy) = True Then
            System.IO.File.Copy(filetocopy, newcopy)
            picfaculty = Form3.lblPicname.Text
        Else
            picfaculty = "pic.png"

        End If

        Dim dsNewRow As DataRow

        dsNewRow = ds.Tables("tblboarder2").NewRow() '<--This is the part w/ the error
        dsNewRow.Item("boarder_id") = lblID.Text
        dsNewRow.Item("lname") = Form3.txtlname.Text
        dsNewRow.Item("fname") = Form3.txtfname.Text
        dsNewRow.Item("mi") = Form3.txtmi.Text
        dsNewRow.Item("age") = Form3.txtage.Text
        dsNewRow.Item("gender") = Form3.cboGender.Text
        dsNewRow.Item("occupation") = Form3.txtOccupation.Text
        dsNewRow.Item("roomnum") = Form3.cboRoomnum.Text
        dsNewRow.Item("boarderpic") = picfaculty

        ds.Tables("tblboarder2").Rows.Add(dsNewRow)
        da.Update(ds, "tblboarder2")


        Dim dsNewRow2 As DataRow

        dsNewRow2 = ds.Tables("tblAddItems").NewRow()
        dsNewRow2.Item("boarder_id") = lblID.Text
        dsNewRow2.Item("Item") = "Blanket"
        dsNewRow2.Item("Quantity") = Form3.cboBlanket.Text

        ds.Tables("tblAddItems").Rows.Add(dsNewRow2)
        da.Update(ds, "tblAddItems")

        MsgBox("New Record Added to the Database", MsgBoxStyle.Information, "Save")
        Me.Close()
        Form3.Close()



    End Sub

1 个答案:

答案 0 :(得分:0)

你对该行的错误有多确定?我怀疑上述情况。我之前使用过类似的代码,发现文件副本中出现了对象引用错误:

System.IO.File.Copy(filetocopy, newcopy)

因为该文件已存在于目标中且未设置为覆盖。您正在使用第一个重载。尝试使用第二个像这样:

System.IO.File.Copy(filetocopy, newcopy, true)

看看你的错误是否消失了。

-d