Database 重新启动.exe时重新出现已删除的数据行
在visual studio 2015社区中:“windows窗体应用程序(visual basic)” 对于我的问题,我创建了一个简单的。 我添加了一个基于服务的数据库:“BusinessDatabase.mdf” 在这个数据库中,我创建了一个具有以下属性的表:“Customers”:Database 重新启动.exe时重新出现已删除的数据行,database,vb.net,visual-studio,Database,Vb.net,Visual Studio,在visual studio 2015社区中:“windows窗体应用程序(visual basic)” 对于我的问题,我创建了一个简单的。 我添加了一个基于服务的数据库:“BusinessDatabase.mdf” 在这个数据库中,我创建了一个具有以下属性的表:“Customers”: CREATE TABLE [dbo].[Customers] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY, [Name] TEXT
CREATE TABLE [dbo].[Customers]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[Name] TEXT NULL
)
表格编号:
Public Class Form
Private Sub Add_button_Click(sender As Object, e As EventArgs) Handles Add_button.Click
Dim WorkRow As DataRow = BusinessDatabaseDataSet.Customers.NewRow()
WorkRow(1) = "John Doe "
BusinessDatabaseDataSet.Customers.Rows.Add(WorkRow)
Me.Validate()
Me.CustomersBindingSource.EndEdit()
Me.CustomersTableAdapter.Update(Me.BusinessDatabaseDataSet.Customers)
End Sub
Private Sub Delete_button_Click(sender As Object, e As EventArgs) Handles Delete_button.Click
BusinessDatabaseDataSet.Customers.Clear()
End Sub
Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.CustomersTableAdapter.Fill(Me.BusinessDatabaseDataSet.Customers)
End Sub
End Class
我可以将行添加到表中。当我退出窗体并重新启动调试文件夹中的.exe时,数据仍按预期存在
但是当我试图从表中删除行时,退出表单并重新启动调试文件夹中的.exe,删除的行就会重新出现。我希望他们保持删除状态
如何执行此操作?您正在调用clear方法,该方法将从内存中的数据表中删除行,但不会返回SQL Server文件。您需要在clear语句之后调用Datatable适配器上的update。请尝试以下操作: 编辑的答案-清除方法只是清除内存中的行。要实际删除它们,您需要将它们标记为已删除,然后更新数据源,请参见下面的修订代码
我以前试过你的解决办法。但奇怪的是,它不起作用。。你是对的。clear方法只是从内存中删除行。您需要将行标记为已删除,以便在更新数据库时将行标记为已删除。您可以为每一行使用delete方法执行此操作,请参见
Private Sub Delete_button_Click(sender As Object, e As EventArgs) Handles Delete_button.Click
'BusinessDatabaseDataSet.Customers.Clear()
For Each rw As DataRow In Me.BusinessDatabaseDataSet.Customers.rows
rw.Delete()
Next
CustomersTableAdapter.Update(Me.BusinessDatabaseDataSet.Customers)
End Sub