Значение Описание
Added Строка была добавлена в DataRowCollection, но метод AcceptChanges() не вызывался
Deleted Строка была удалена с помощью метода Delete() объекта DataRow
Detached Строка была создана, но не является частью коллекции DataRowСollection. Объект DataRow находится в этом состоянии после своего создания до того, как будет добавлен к коллекции (или же после удаления этого объекта из коллекции)
Modified Строка была изменена, но метод AcceptChanges() не вызывался
Unchanged Строка не изменилась со времени последнего вызова AcceptChanges()

Во время программных манипуляций строками объекта DataTable свойство RowState устанавливается автоматически.

static void Маin(string[] args) {

 …

 DataRow carRow = InventoryTable.NewRow();

 // Выводит 'Состояние строки: Detached.'

 Console.WriteLine("Сoстояние строки: {0}.", carRow.RowState);

 carRow["Make"] = "BMW";

 carRow["Color"] = "черный";

 carRow["PetName"] = "Hamlet";

 inveritoryTable.Rows.Add(carRow);

 // Выводит 'Состояние строки: Added.'

 Console.WriteLine("Состояние строки: {0}.",

 inventoryTable.Rows[0].RowState);

}

Как видите, DataRow в ADO.NET является достаточно "сообразительным" для того, чтобы контролировать текущее положение вещей. Поэтому, имея DataTable, вы можете выяснить, какие строки были изменены. Эта особенность DataSet очень важна, поскольку именно она при отправке обновленной информации в хранилище данных позволяет отправлять только измененные данные.

<p>Работа с DataTable</p>

Тип DataTable определяет большое количество членов, многие из которых по именам и возможностям идентичны членам DataSet. В табл. 22.14 предлагаются описания основных свойств типа DataTable, за исключением Rows и Columns.

Таблица 22.14. Основные свойства типа DataTable

Перейти на страницу:

Похожие книги