Поделиться через


Удаление DataRow

Обновлен: November 2007

Для удаления объекта DataRow из объекта DataTable используется два метода: метод Remove объекта DataRowCollection и метод Delete объекта DataRow. Метод Remove удаляет объект DataRow из коллекции DataRowCollection, тогда как метод Delete только помечает строку для удаления. Фактическое удаление происходит, когда в приложении вызывается метод AcceptChanges. Использование метода Delete позволяет программно проверять, какие строки помечены для удаления, перед их фактическим удалением. Когда строка отмечена для удаления, ее свойство RowState имеет значение Deleted.

При использовании DataSet или DataTable в сочетании с DataAdapter и реляционным источником данных для удаления строки используйте метод Delete объекта DataRow. Метод Delete помечает строку как Deleted в наборе в DataSet или таблице DataTable, но не удаляет ее. Вместо этого, когда объект DataAdapter обнаруживает строку, помеченную как Deleted, он выполняет свой метод DeleteCommand, чтобы удалить строку в источнике данных. Затем строку можно окончательно удалить с помощью метода AcceptChanges. При использовании метода Remove для удаления строки она полностью удаляется из таблицы, однако объект DataAdapter не удаляет строку в источнике данных.

Метод Remove объекта DataRowCollection получает объект DataRow в качестве аргумента и удаляет его из коллекции, как показано в следующем примере.

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

В отличие от этого, в следующем примере показано, как вызывать метод Delete объекта DataRow, чтобы изменить состояние строки RowState в значение Deleted.

workRow.Delete
workRow.Delete();

Если строка помечена для удаления и вызывается метод AcceptChanges объекта DataTable, то строка удаляется из таблицы DataTable. Напротив, если вызвать метод RejectChanges, то состояние RowState строки возвращается к тому значению, которое оно имело до того, как строка была помечена как Deleted.

03c7a3zb.alert_note(ru-ru,VS.90).gifПримечание.

Если состояние RowState объекта DataRow имеет значение Added, означающее, что она недавно была добавлена в таблицу, и затем она помечается как Deleted, то строка удаляется из таблицы.

См. также

Ссылки

DataRow

DataRowCollection

DataTable

Другие ресурсы

Обработка данных в DataTable