对数据集的更改不保存

时间:2016-03-25 09:47:28

标签: vb.net datagridview dataset

当我向数据集添加新行时,它在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

结束班

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

根据您的问题更新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

结束班