Gewusst wie: Löschen von Datensätzen in einer Datenbank

Aktualisiert: November 2007

Verwenden Sie zum Löschen von Datensätzen aus einer Datenbank die TableAdapter.Update-Methode oder die TableAdapter.Delete-Methode. Wenn die Anwendung keine TableAdapters verwendet, können Sie Datensätze auch mit Befehlsobjekten aus der Datenbank löschen (z. B. ExecuteNonQuery).

Die TableAdapter.Update-Methode wird i. d. R. verwendet, wenn die Anwendung Daten mithilfe von Datasets speichert, während die TableAdapter.Delete-Methode normalerweise verwendet wird, wenn die Anwendung Objekte zum Speichern verwendet.

Wenn der TableAdapter nicht über eine Delete-Methode verfügt, ist er entweder so konfiguriert, dass er gespeicherte Prozeduren verwendet, oder seine GenerateDBDirectMethods-Eigenschaft ist auf false festgelegt. Versuchen Sie, aus dem DataSet-Designer heraus die GenerateDBDirectMethods-Eigenschaft des TableAdapter auf true festzulegen, und speichern Sie das Dataset, um den TableAdapter neu zu generieren. Wenn der TableAdapter dann immer noch nicht über eine Delete-Methode verfügt, stellt die Tabelle wahrscheinlich keine ausreichenden Schemainformationen zum Unterscheiden zwischen einzelnen Zeilen zur Verfügung (z. B. ist kein Primärschlüssel in der Tabelle festgelegt).

Löschen von Datensätzen mithilfe von TableAdapters

TableAdapters bieten verschiedene Möglichkeiten, Datensätze abhängig von den Anforderungen der Anwendung aus einer Datenbank zu löschen.

Wenn die Anwendung Daten mithilfe von Datasets speichert, können Sie die Datensätze einfach aus der gewünschten DataTable im DataSet löschen und dann die TableAdapter.Update-Methode aufrufen. Die TableAdapter.Update-Methode überträgt alle an der Datentabelle vorgenommenen Änderungen in die Datenbank (z. B. eingefügte, aktualisierte und gelöschte Datensätze).

So löschen Sie Datensätze mithilfe der TableAdapter.Update-Methode aus einer Datenbank

  • Löschen Sie Datensätze aus der gewünschten DataTable, indem Sie DataRow-Objekte aus der Tabelle löschen. Weitere Informationen finden Sie unter Gewusst wie: Löschen von Zeilen in einer DataTable. Nachdem die Zeilen aus der DataTable gelöscht wurden, rufen Sie die TableAdapter.Update-Methode auf. Sie können die zu aktualisierende Datenmenge steuern, indem Sie ein DataSet, eine DataTable, ein Array von DataRows oder eine einzelne DataRow übergeben. Der folgende Code veranschaulicht, wie ein Datensatz aus einer DataTable gelöscht und anschließend die TableAdapter.Update-Methode aufgerufen wird, um die Änderung mitzuteilen und die Zeile aus der Datenbank zu löschen. (In diesem Beispiel wird die Tabelle Region der Datenbank Northwind verwendet.)

    ' Locate the row to delete.
    Dim oldRegionRow As NorthwindDataSet.RegionRow
    oldRegionRow = NorthwindDataSet._Region.FindByRegionID(5)
    
    ' Delete the row from the dataset
    oldRegionRow.Delete()
    
    ' Delete the row from the database
    Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
    
    // Locate the row to delete.
    NorthwindDataSet.RegionRow oldRegionRow;
    oldRegionRow = northwindDataSet.Region.FindByRegionID(5);
    
    // Delete the row from the dataset
    oldRegionRow.Delete();
    
    // Delete the row from the database
    this.regionTableAdapter.Update(this.northwindDataSet.Region);
    

Wenn die Anwendung Daten mithilfe von Objekten in der Anwendung speichert, können Sie mit den DBDirect-Methoden des TableAdapter Daten direkt aus der Datenbank löschen. Beim Aufrufen der Delete-Methode werden Datensätze basierend auf den übergebenen Parameterwerten aus der Datenbank entfernt.

So löschen Sie Datensätze mithilfe der TableAdapter.Delete-Methode aus einer Datenbank

  • Rufen Sie die Delete-Methode des TableAdapter auf, und übergeben Sie der Delete-Methode die Werte für alle Spalten als Parameter. (In diesem Beispiel wird die Tabelle Region der Datenbank Northwind verwendet.)

    Hinweis:

    Wenn Ihnen keine Instanz zur Verfügung steht, instanziieren Sie den TableAdapter, den Sie verwenden möchten.

    Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter
    
    regionTableAdapter.Delete(5, "NorthWestern")
    
    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");
    

Löschen von Datensätzen mithilfe von Befehlsobjekten

Im folgenden Beispiel werden Datensätze mithilfe von Befehlsobjekten direkt aus einer Datenbank gelöscht. Weitere Informationen zum Ausführen von Befehlen und gespeicherten Prozeduren mithilfe von Befehlsobjekten finden Sie unter Abrufen von Daten für die Anwendung.

So löschen Sie Datensätze mithilfe von Befehlsobjekten aus einer Datenbank

  • Erstellen Sie ein neues Befehlsobjekt, und legen Sie die entsprechenden Eigenschaften Connection, CommandType und CommandText fest. (In diesem Beispiel wird die Tabelle Region der Datenbank Northwind verwendet.)

    Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING")
    
    Dim cmd As New System.Data.SqlClient.SqlCommand
    cmd.CommandType = System.Data.CommandType.Text
    cmd.CommandText = "DELETE Region WHERE RegionID = 5 AND RegionDescription = 'NorthWestern'"
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    cmd.ExecuteNonQuery()
    sqlConnection1.Close()
    
    System.Data.SqlClient.SqlConnection sqlConnection1 = 
        new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING ");
    
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.CommandText = "DELETE Region WHERE RegionID = 5 AND RegionDescription = 'NorthWestern'";
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    cmd.ExecuteNonQuery();
    sqlConnection1.Close();
    

Sicherheit

Sie müssen über Zugriff auf die Datenbank verfügen, mit der Sie eine Verbindung herstellen möchten. Außerdem müssen Sie über die Berechtigung zum Löschen von Datensätzen aus der gewünschten Tabelle verfügen.

Siehe auch

Aufgaben

Gewusst wie: Einfügen neuer Datensätze in eine Datenbank

Gewusst wie: Aktualisieren von Datensätzen in einer Datenbank

Gewusst wie: Speichern von Daten aus einem Objekt in einer Datenbank

Konzepte

Übersicht über TableAdapters

Weitere Ressourcen

Erste Schritte mit dem Datenzugriff

Herstellen von Datenverbindungen in Visual Studio

Vorbereiten der Anwendung auf den Empfang von Daten

Abrufen von Daten für die Anwendung

Anzeigen von Daten in Formularen in Windows-Anwendungen

Bearbeiten von Daten in der Anwendung

Überprüfen von Daten

Speichern von Daten