Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 588

Эндрю Троелсен

Во время программных манипуляций строками объекта 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 очень важна, поскольку именно она при отправке обновленной информации в хранилище данных позволяет отправлять только измененные данные.

Работа с DataTable

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

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

Свойство Описание
CaseSensitive Индикатор необходимости учета регистра символов при сравнении строк в пределах таблицы. Значением по умолчанию является false (ложь)
ChildRelations Возвращает коллекцию дочерних отношений для данного объекта DataTable (если таковые имеются)
Constraints Возвращает коллекцию ограничений, поддерживаемых таблицей
DataSet Возвращает объект DataSet, содержащий данную таблицу (если таковой имеется)
DefaultView Возвращает пользовательское представление таблицы, которое может включать фильтр или позицию курсора
MinimumCapacity Читает или устанавливает значение для начального числа строк данной таблицы (это значение по умолчанию равно 25)
ParentRelations Возвращает коллекцию родительских отношений для данного объекта DataTable
PrimaryKey Читает или устанавливает массив столбцов, функционирующих в качестве первичных ключей для таблицы данных
RemotingFormat Позволяет определить, как объект DataSet должен выполнять сериализацию соответствующего содержимого (в двоичном или XML-формате) для слоя удаленного взаимодействия .NET. Это свойство появилось в .NET 2.0
TableName Читает или устанавливает имя таблицы. Это же свойство может быть указано в качестве параметра конструктора