winforms 如何保存更改的表?条目未被修改并继续重置为空白表

8fsztsew  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(115)

你好,我是一个相对较新的编程和编码,我不知道如何保存从表单输入的数据到tabledataadapter(数据绑定源)。我想创建一个表格形式,可以保存/编辑/删除.遵循了许多指南,但没有一个成功。它提到“数据保存”,但我无法找到文件或保存在表格中
编辑:
this is what it shows after saving
when i returned to designing mode
每次我重启程序它都会重置。表格和数据库中的所有记录均缺失。
是因为没有设置连接吗?(我正在使用DataSourceBinding)或者有没有其他的解决方案可以选择。
对不起,语法不好,英语不是我的母语。

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
        Try
            Me.Validate()

            Me.JobStatusBindingSource.EndEdit()

            Dim orderdelete As JobStatusDataSet.Job_StatusDataTable = CType(JobStatusDataSet.Job_Status.GetChanges(Data.DataRowState.Deleted), JobStatusDataSet.Job_StatusDataTable)

            Dim ordernew As JobStatusDataSet.Job_StatusDataTable = CType(JobStatusDataSet.Job_Status.GetChanges(Data.DataRowState.Added), JobStatusDataSet.Job_StatusDataTable)

            Dim ordermodified As JobStatusDataSet.Job_StatusDataTable = CType(JobStatusDataSet.Job_Status.GetChanges(Data.DataRowState.Modified), JobStatusDataSet.Job_StatusDataTable)

            Try
                If Not orderdelete Is Nothing Then
                    Job_StatusTableAdapter.Update(orderdelete)

                End If

                If Not ordernew Is Nothing Then
                    Job_StatusTableAdapter.Update(ordernew)

                End If

                If Not ordermodified Is Nothing Then
                    Job_StatusTableAdapter.Update(ordermodified)

                End If

                JobStatusDataSet.AcceptChanges()

            Catch ex As Exception

            Finally
                If Not orderdelete Is Nothing Then
                    orderdelete.Dispose()

                End If
                If Not ordernew Is Nothing Then
                    ordernew.Dispose()

                End If
                If Not ordermodified Is Nothing Then
                    ordermodified.Dispose()

                End If
            End Try
            MessageBox.Show("Data Saved")

        Catch ex As Exception
            MessageBox.Show("Saving Error")
        End Try


    End Sub

编辑二:
在通过原始的access数据库手动插入数据后,最后我可以preview数据。但是它没有在表X1 E3 F1 X上示出。从上周开始我就一直这样

wnrlj8wa

wnrlj8wa1#

这通常发生在数据库是本地的情况下,即它是通过VisualStudio本身创建的。在这种情况下,每次重新编译应用程序时,它都会擦除现有的数据库并创建一个新的数据库。你可以做一个简单的测试如下:
1.正常编译应用程序并添加一些数据
1.关闭应用程序。
1.打开文件资源管理器并导航到/bin/debug项目文件夹
1.通过项目的.exe可执行文件打开应用程序
这样,程序就不会重新编译,因此数据库也不会重新创建。应显示以前保存的数据。在这种情况下,在最终的应用程序中,应用程序的每个副本都有自己的数据库。
您可以使用SQL Server和SQL MANAGEMENT STUDIO创建数据库,并且在Visual Studio中只需将应用程序连接到数据库,这样它就不会在每次重新编译时被删除,并且在最终应用程序中,所有副本都将使用相同的数据库。

相关问题