如何在添加新项目后将Microsoft Access数据库更新为Visual Basic数据集

时间:2014-04-09 01:43:26

标签: database vb.net ms-access-2010 updating

我刚刚开始制作我的第一个使用Visual Basic数据库的程序,而且我的代码遇到了一个小问题。该程序获取人员和一些其他信息字段的名称,并将它们放在名为AddressBook.mdb的数据库文件中。我有几个按钮可以执行各种操作,包括在每个记录之间移动以及更新当前记录的更改。我的问题是添加一个新条目。 按钮本身在我使用时工作,唯一的问题是保存后我无法在应用程序中查看新条目,直到我重新启动它。

以下是提交按钮的代码,该按钮将当前数据保存为新条目:

Private Sub btnCommit_Click(sender As Object, e As EventArgs) Handles btnCommit.Click
    If inc <> -1 Then

        Dim cb As New OleDb.OleDbCommandBuilder(da)
        Dim dsNewRow As DataRow

        dsNewRow = ds.Tables("AddressBook").NewRow()

        dsNewRow.Item("FirstName") = txtFirstName.Text
        dsNewRow.Item("Surname") = txtSurname.Text
        dsNewRow.Item("SSN") = ssn.Text
        dsNewRow.Item("DOB") = dob.Text
        dsNewRow.Item("Weight") = weight.Text
        dsNewRow.Item("Height") = tall.Text
        dsNewRow.Item("Phone") = phone.Text
        dsNewRow.Item("Address1") = address.Text
        dsNewRow.Item("City") = city.Text
        dsNewRow.Item("Postcode") = zip.Text
        dsNewRow.Item("Hair") = hair.Text
        dsNewRow.Item("Eye") = eye.Text
        dsNewRow.Item("Gender") = gender.Text

        ds.Tables("AddressBook").Rows.Add(dsNewRow)

        da.Update(ds, "AddressBook")

        MsgBox("New Record added to the Database")

        btnCommit.Enabled = False
        btnAddNew.Enabled = True
        btnUpdate.Enabled = True
        btnDelete.Enabled = True

    End If
End Sub

点击按钮后,我可以做些什么来更新数据集,以便我可以在创建后立即查看新条目?

1 个答案:

答案 0 :(得分:0)

如果我记得,可以使用Refresh方法。

最糟糕的情况是,通过销毁对象并重新创建来手动刷新。

我认为只是简单地重新创建对象,导致刷新(手动或自动)需要您比较值并对DataSet进行更新。

根据您的表示法,它看起来像是一个桌面应用程序,因此使用新的DataSet刷新对应用程序的影响非常小。