Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Es gibt zwei Methoden, mit denen Sie ein DataRow Objekt aus einem DataTable Objekt löschen können: die Remove-Methode des DataRowCollection Objekts und die Delete Methode des DataRow-Objekts . Während die Remove Methode ein DataRow aus der DataRowCollection löscht, markiert die Delete Methode nur die Zeile zum Löschen. Die tatsächliche Entfernung tritt auf, 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 Delete gesetzt.
Weder Delete noch Remove sollten in einer foreach-Schleife beim Durchlaufen eines DataRowCollection-Objekts aufgerufen werden. Der Auflistungszustand wird durch Delete und Remove nicht geändert.
Wenn Sie eine DataSet oder DataTable in Verbindung mit einem DataAdapter und einer relationalen Datenquelle verwenden, nutzen Sie die Delete-Methode des DataRow, um die Zeile zu entfernen. Mit der Delete-Methode wird die Zeile im DataSet oder DataTable als gelöscht markiert, aber nicht entfernt. Wenn der DataAdapter auf eine Zeile trifft, die als "Gelöscht" markiert ist, wird stattdessen die DeleteCommand-Methode ausgeführt, um die Zeile in der Datenquelle zu löschen. Die Zeile kann dann mit der AcceptChanges-Methode dauerhaft entfernt werden. Wenn Sie "Entfernen" verwenden, um die Zeile zu löschen, wird die Zeile vollständig aus der Tabelle entfernt, aber der DataAdapter löscht die Zeile nicht an der Datenquelle.
Die Methode Remove der DataRowCollection nimmt eine DataRow als Argument und entfernt sie aus der Sammlung, wie im folgenden Beispiel gezeigt.
workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);
Im folgenden Beispiel wird dagegen veranschaulicht, wie die Delete-Methode für ein DataRow-Objekt aufgerufen wird, um den RowState-Wert in "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. Wenn Sie "RejectChanges" aufrufen, wird der RowState der Zeile dagegen wiederhergestellt, bevor sie als "Gelöscht" markiert wurde.
Hinweis
Wenn der RowState eines DataRow-ObjektsAdded ist, was bedeutet, dass es gerade der Tabelle hinzugefügt wurde, und es dann als Gelöscht markiert wird, wird es aus der Tabelle entfernt.