'DataRow'-Löschung

Aktualisiert: November 2007

Es gibt zwei Methoden zum Löschen eines DataRow-Objekts aus einem DataTable-Objekt: Die Remove-Methode des DataRowCollection-Objekts und die Delete-Methode des DataRow-Objekts. Während die Remove-Methode eine DataRow in der DataRowCollection löscht, wird von der Delete-Methode die Zeile lediglich zum Löschen markiert. Das eigentliche Löschen erfolgt, wenn die Anwendung die AcceptChanges-Methode aufruft. Mithilfe von Delete können Sie programmgesteuert überprüfen, welche Zeilen zum Löschen markiert sind, bevor Sie sie tatsächlich entfernen. Wenn eine Zeile zum Löschen markiert ist, wird die RowState-Eigenschaft auf Deleted festgelegt.

Bei Verwendung eines DataSet oder einer DataTable in Verbindung mit einem DataAdapter und einer relationalen Datenquelle entfernen Sie die Zeile mithilfe der Delete-Methode der DataRow. Mit der Delete-Methode wird die Zeile als Deleted im DataSet oder in der DataTable markiert, aber sie wird nicht entfernt. Wenn stattdessen der DataAdapter eine als Deleted markierte Zeile vorfindet, führt er die DeleteCommand-Methode aus, um die Zeile in der Datenquelle zu löschen. Anschließend kann die Zeile mit der AcceptChanges-Methode dauerhaft entfernt werden. Wenn Sie zum Löschen der Zeile Remove verwenden, wird die Zeile zwar vollständig aus der Tabelle entfernt, vom DataAdapter jedoch nicht aus der Datenquelle gelöscht.

Die Remove-Methode der DataRowCollection akzeptiert eine DataRow als Argument und entfernt sie aus der Auflistung, wie im folgenden Beispiel dargestellt.

workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);

Im Gegensatz dazu zeigt das folgende Beispiel, wie Sie die Delete-Methode für eine DataRow aufrufen, um deren RowState auf Deleted zu ändern.

workRow.Delete
workRow.Delete();

Wenn eine Zeile zum Löschen markiert ist und Sie die AcceptChanges-Methode des DataTable-Objekts aufrufen, wird die Zeile aus der DataTable entfernt. Im Gegensatz dazu wird beim Aufrufen von RejectChanges der RowState der Zeile wiederhergestellt, der gültig war, bevor die Zeile als Deleted markiert wurde.

Hinweis:

Wenn der RowState einer DataRowAdded lautet, in dem Sinne, dass sie gerade der Tabelle hinzugefügt wurde, und dann als Deleted markiert wurde, wird sie aus der Tabelle entfernt.

Siehe auch

Referenz

DataRow

DataRowCollection

DataTable

Weitere Ressourcen

Bearbeiten von Daten in einer DataTable