对数据集的更改未保存

Changes To Data Set Not Saving

当我向我的数据集添加一个新行时,它在 datagridview 中的特定表单上可见,但是当我切换到另一个具有相同数据绑定 datagridview 的表单时,新行不存在。当我关闭程序时,我的新行就完全消失了。我想将新行保存到它正在读取的 Access 数据库中。

Public Class frmAddStudent




Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
    Me.Hide()
    frmUserControls.Show()
End Sub

Private Sub frmAddStudent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblLecturer' table. You can move, or remove it, as needed.
    Me.TblLecturerTableAdapter.Fill(Me.StudentRecords1DataSet.tblLecturer)
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblStudents' table. You can move, or remove it, as needed.
    Me.TblStudentsTableAdapter.Fill(Me.StudentRecords1DataSet.tblStudents)

End Sub

Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click

    Dim MyNewRow As DataRow
    MyNewRow = StudentRecords1DataSet.tblStudents.NewRow



    Try

        With MyNewRow
            .Item(1) = txtID.Text
            .Item(2) = txtFirstName.Text
            .Item(3) = txtSurname.Text


        End With



        Me.Validate()
        Me.TblStudentsBindingSource.EndEdit() 'Change this to your binding source ' eg table'
        Me.TableAdapterManager.UpdateAll(Me.StudentRecords1DataSet) ' chnage this to your database name'
        MessageBox.Show("The Data Has Been Saved", "Information", MessageBoxButtons.OK)
    Catch ex As Exception
        'if there is a problem saving the data, it will show a messagebox with the problem as to why it could'nt save the data'
        MessageBox.Show(ex.Message)
    End Try

    StudentRecords1DataSet.tblStudents.Rows.Add(MyNewRow)
    StudentRecords1DataSet.tblStudents.AcceptChanges()

End Sub

Private Sub txtFirstName_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs)

End Sub

Private Sub TblStudentsBindingNavigator_RefreshItems(sender As Object, e As EventArgs) Handles TblStudentsBindingNavigator.RefreshItems

End Sub

结束Class

有什么建议吗?

UPDATe X2 根据您的问题更新。 试试这个,

Public Class frmAddStudent


Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
    Me.Hide()
    frmUserControls.Show()
End Sub

Private Sub frmAddStudent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblLecturer' table. You can move, or remove it, as needed.
    Me.TblLecturerTableAdapter.Fill(Me.StudentRecords1DataSet.tblLecturer)
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblStudents' table. You can move, or remove it, as needed.
    Me.TblStudentsTableAdapter.Fill(Me.StudentRecords1DataSet.tblStudents)

End Sub

Private Async Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click

    Try
        Me.Validate()
        Me.TblStudentsBindingSource.EndEdit() 'Change this to your binding source ' eg table'
        Me.TableAdapterManager.UpdateAll(Me.StudentRecords1DataSet) ' chnage this to your database name'
        MessageBox.Show("The Data Has Been Saved", "Information", MessageBoxButtons.OK)
        Await Task.Delay(100)
        TblStudentsBindingNavigator_RefreshItems.studentsBindingSource.AddNew()
    Catch ex As Exception
        'if there is a problem saving the data, it will show a messagebox with the problem as to why it could'nt save the data'
        MessageBox.Show(ex.Message)
    End Try

End Sub

Private Sub txtFirstName_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs)

End Sub

Private Sub TblStudentsBindingNavigator_RefreshItems(sender As Object, e As EventArgs) Handles TblStudentsBindingNavigator.RefreshItems

End Sub

结束Class