对数据集的更改未保存
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
当我向我的数据集添加一个新行时,它在 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