in Visual Studio 2015 Community Neustart: 'Windows Forms-Anwendung (Visual Basic)'Gelöschte Datenzeilen wieder auftauchen, wenn .exe
Für meine Frage mich ein einfaches Form erstellt. Ich habe eine Service-basierte Datenbank: "BusinessDatabase.mdf" In dieser Datenbank Ich habe eine Tabelle erstellt: "Kunden" mit den folgenden Attributen:
CREATE TABLE [dbo].[Customers]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[Name] TEXT NULL
)
Formularcode:
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
ich hinzufügen Zeilen an den Tisch, gut. Wenn ich das Formular verlasse und die EXE-Datei im Debug-Ordner neu starte, sind die Daten immer noch wie vorgesehen vorhanden.
Aber wenn ich versuche, Zeilen aus der Tabelle zu löschen, beenden Sie das Formular und starten Sie die .exe im Debug-Ordner die gelöschten Zeilen wieder angezeigt werden. Ich möchte, dass sie gelöscht bleiben.
Wie kann ich das tun?
ich Ihre Lösung vor versucht haben. Aber seltsamerweise funktioniert es nicht. – vthomas1
. Sie haben Recht. Die Clear-Methode entfernt nur die Zeilen aus dem Speicher. Sie müssen die Zeilen als gelöscht markieren. Wenn Sie also die Datenbank aktualisieren, werden die Zeilen zum Löschen markiert. Sie können dies mit der Löschmethode für jede Zeile tun, siehe https://msdn.microsoft.com/en-us/library/system.data.datarow.delete(v=vs.110).aspx – TomShantisoft
Vielen Dank! Ich habe es funktioniert. – vthomas1