Um eine Zeile aus einer Datentabelle zu löschen, müssen einige Operationen ausgeführt werden.
Zuerst alle Zeilen finden, die Ihren Kriterien entsprechen
var rowsToDelete = dataSet.Tables[0].AsEnumerable()
.Where(r => r.Field<DateTime?>(dateColumn) < minDate ||
r.Field<DateTime?>(dateColumn) > maxDate));
nun als gelöscht markiert jede Zeile beginnen.
foreach(DataRow row in rowsToDelete)
row.Delete();
Beachten Sie, dass die vorherige Schritt Marken nur die Zeilen als gelöscht, die Zeilen noch in der Datentabelle sind, aber sie sind nicht mehr zugänglich (und zu versuchen, eine Reihe mit seiner RowState zu verwenden == DataRowState.Deleted verursacht eine Ausnahme
)
Nun könnte man diese Zeilen aus der Datentabelle
Aufruf entfernen
dataSet.Tables[0].AcceptChanges();
beachten Sie auch, dass dieser Code nicht alles auf dem Datenbanktabelle nicht ändert, sondern nur macht Änderungen an die im Speicher Da TaTabelle. Wenn Sie die Zeilen aus der Datenbanktabelle entfernen möchten, benötigen Sie spezifischen ADO.NET-Code für Ihre Datenbank. Zum Beispiel müssen Sie in Sql Server die SqlDataAdapter.Update-Methode für eine Stapellöschung oder eine Sequenz von einzelnen SqlCommand mit der entsprechende DELETE-Anweisung für jede zu löschende Zeile.
Warum nicht einfach die Zeilen durchlaufen und 'table.Rows.Remove (..'? –
aufrufen. Ihre Anweisung _a Datentabelle, die DateTime column_ enthält, muss geklärt werden. In diesem Fall enthält Ihre Tabelle keine DateTime-Spalte? – Steve
Was? Ich benötige eine Datentabelle mit einigen Spalten und die, mit der ich es zu tun habe, ist eine datetime Spalte Die Tabelle selbst hat viele Zeilen, einige Zeilen müssen gelöscht werden, abhängig vom datetime Wert eines bestimmten datetime – Vinnie418