Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

4.3 Тип DataRow. 4.4 Тип DataTable




4. 3 Тип DataRow

Как было сказано выше, структура таблицы определяется как коллекция объектов DataColumn. Для хранения этой коллекции в объекте DataTable используется внутренний объект DataColumnCollection. Помимо этого, для DataTable важна еще одна коллекция: коллекция объектов DataRow, которая и определяет собственно данные, хранящиеся в таблице. При помощи компонентов этого класса можно производить операции вставки, изменения и удаления строк таблицы, а также сравнивать значения, которые содержатся в строках.

Наиболее важные компоненты этого класса представлены в таблице 2. 3. Кроме того, класс DataRow определяет индексатор, при помощи которого можно получить значение из поля строки по порядковому номеру. Конечно, то же самое значение можно будет получить и по имени столбца.

 

Таблица 2. 3 – Основные компоненты класса DataRow

 

Компонент Назначение
AcceptChanges() RejectChanges() Для записи в строку (или отказа от них) всех изменений, произведенных начиная с момента, когда последний раз был вызван метод AcceptChanges()
BeginEdit() EndEdit() CancelEdit() Начать, завершить, прекратить операции редактирования для объекта DataRow
Delete() Помечает строку для удаления при следующем вызове метода AcceptChanges()
HasErrors GetColumnsInErrors() GetColumnError() ClearErrors() RowError Свойство HasErrors возвращает логическое значение, определяющее, присутствуют ли ошибки в значениях столбцов для данной строки. Если такие ошибки есть, то для получения значений, которые нарушают установленные правила, можно использовать метод GetColumnsInErrors(). Для получения описания ошибки можно использовать GetColumnError(), а ClearErrors() просто удаляет все ошибочные значения из строки. Свойство RowError позволяет настроить текстовое описание для ошибки в столбце
IsNull() Возвращает информацию о том, содержит ли строка в указанном поле пустое значение (типа NULL)
ItemArray Позволяет получить или установить значения всех полей строки при помощи массива объектов
RowState Позволяет получать информацию о текущем состоянии объекта DataRow. Используются значения из перечисления RowState
Table Это свойство используется для получения указателя на таблицу, содержащую текущий объект DataRow

 

Главное назначение свойства RowState – определять (в процессе выполнения программы), в каком состоянии находятся выбранные строки в таблице: были ли они изменены, только что вставлены и т. п. Для этого свойства используются значения из перечисления DataRowState (таблица 2. 4).

 

Таблица 2. 4 – Значения перечисления DataRowState

 

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

4. 4 Тип DataTable

Класс DataTable используется для создания в оперативной памяти моделей табличных наборов данных. Можно создавать объекты DataTable программным образом, однако чаще в приложениях объект DataTable создается автоматически с помощью возможностей DataSet и типов, определенных в пространствах имен System. Data. OleDb и System. Data. SqlClient. Наиболее важные свойства DataTable представлены в таблице 2. 5.

 

Таблица 2. 5 – Основные свойства класса DataTable

 

Свойство Описание
CaseSensitive Определяет, будет ли при сравнении символьных данных в таблице учитываться регистр символов. По умолчанию – false (не будет)
ChildRelations Возвращает коллекцию подчиненных отношений (DataRelationCollection) для объекта DataTable (если такие отношения есть)
Columns Возвращает набор столбцов для таблицы
Constraints Позволяет получить коллекцию ограничений, определенных в столбце (ConstraintCollection)

 

Продолжение таблицы 2. 5

 

Свойство Описание
DataSet Позволяет получить ссылку на объект DataSet, к которому принадлежит данная таблица (если такой объект есть)
DefaultView Позволяет получить настроенное представление для таблицы, которое может включать в себя, например, только некоторые выбранные пользователем столбцы или данные о положении курсора
MinimumCapacity Позволяет получить или установить исходное количество строк в таблице (по умолчанию – 25)
ParentRelations Позволяет получить коллекцию родительских отношений для данного объекта DataTable
PrimaryKey Позволяет получить или установить массив столбцов, которые являются первичным ключом в таблице
Rows Возвращает набор строк, относящихся к таблице
TableName Позволяет получить имя таблицы или определить его. Значение для этого свойства может быть установлено через конструктор таблицы

 

Графическая схема наиболее важных компонентов DataTable представлена на рисунке 2. 1. Следует обратить внимание, что схема не имеет никакого отношения к иерархии классов (к примеру, класс DataRow не является классом, производным от DataRowCollection ). Эта схема представляет логические отношения «иметь» (“has-a”) между наиболее важными компонентами класса DataTable (например, объекты DataRow принадлежат к объекту DataRowCollection ).

 

DataTable
DataRowCollection
DataColumnCollection
ConstraintCollection
PrimaryKey
DataRow
DataColumn
Constraint
Можно получить доступ через свойство Rows
Можно получить доступ через свойство Columns
Можно получить доступ через свойство Constraints

 

Рисунок 2. 1 – Отношения компонентов DataTable

 

Наиболее важные методы DataTable представлены в таблице 2. 6.

 

Таблица 2. 6 – Основные методы класса DataTable

 

Метод Описание
AcceptChanges() Подтверждает все изменения, сделанные в таблице после предыдущего вызова метода
Clear() Очищает все данные объекта DataTable
Compute(String expr, String filter) Выполняет вычисление выражения expr в строках таблицы, удовлетворяющих фильтру filter
Copy() Копирует структуру и данные объекта DataTable
NewRow() Создает новую запись (объект DataRow) данной таблицы
RejectChanges() Отменяет все изменения, сделанные после загрузки таблицы либо после последнего вызова метода AcceptChanges
Reset() Сбрасывает объект DataTable в исходное состояние
Select() Возвращает массив всех записей таблицы (объектов DataRow)
Select(String filter) Возвращает массив записей таблицы (объектов DataRow), соответствующих фильтру filter
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...