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

4.5 Возможности класса DataSet




4. 5 Возможности класса DataSet

При работе с базами данных чаще всего таблицы используются не сам по себе, а во взаимодействии с другими таблицами. В ADO. NET возможности работы с наборами таблиц, связанными друг с другом, предоставляет класс DataSet.

Объект DataSet – это создаваемый в оперативной памяти набор таблиц (объектов DataTable ), связанных между собой отношениями и снабженными средствами проверки целостности данных (для них в DataSet предусмотрены свои объекты). Иерархия классов, входящих в DataSet, представлена на рисунке 2. 2.

DataSet
DataRelationCollection
DataTableCollection
PropertyCollection
Доступ производится через свойства Relations, Tables и ExtendedProperties соответственно

 

Рисунок 2. 2 – Внутренние коллекции DataSet

 

Основные свойства класса DataSet представлены в таблице 2. 7.

 

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

 

Свойство Описание
CaseSensitive Определяет, будет ли во время операций по сравнению текстовых строк в объектах DataTable учитываться регистр букв
DataSetName Позволяет получить или задать имя для данного объекта DataSet. Обычно значение этого свойства задается как параметр, передаваемый конструктору
EnforceConstraints Позволяет включить или отключить проверку соответствия ограничениям при выполнении операций обновления данных в DataSet
HasErrors Позволяет получить значение, определяющее наличие ошибок в DataSet (т. е. ошибок в любой строке любой таблицы DataSet)

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

 

Свойство Описание
Relations Позволяет обратиться к коллекции отношений между таблицами DataSet
Tables Позволяет получить доступ к коллекции таблиц DataSet

 

Многие методы DataSet дублируют возможности свойств. Самые важные методы DataSet представлены в таблице 2. 8.

 

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

 

Метод Описание
AcceptChanges() Позволяет сохранить в DataSet все изменения, произведенные с момента последнего вызова этого метода
Clear() Полная очистка DataSet – удаляются все строки из всех таблиц
Clone() Клонирует структуру DataSet, включая структуру таблиц, отношения между таблицами и ограничения
Copy() Копирует DataSet (структуру вместе с данными)
GetChanges() Возвращает копию DataSet, которая содержит все изменения, внесенные в оригинальный DataSet с момента последнего вызова для него метода AcceptChanges()
GetChildRelations() Возвращает коллекцию подчиненных отношений для указанной таблицы
GetParentRelations() Возвращает коллекцию родительских отношений для указанной таблицы
HasChanges() Этот перегруженный метод позволяет получить информацию об изменениях, внесенных в DataSet (отдельно по вставленным, удаленным и измененным строкам)
Merge() Этот перегруженный метод позволяет производить слияние разных объектов DataSet
ReadXml() ReadXmlSchema() Позволяют считывать данные в формате XML в DataSet из потока (файла, оперативной памяти, сетевого ресурса)
RejectChanges() Отменяет все изменения, внесенные в DataSet с момента его создания или последнего вызова метода AcceptChanges()
WriteXml() WriteXmlSchema() Позволяют записывать данные в формате XML из DataSet в поток

 

4. 6 Класс DataRelation

После того как в DataSet появилось несколько объектов таблиц, можно определить отношения между этими таблицами. Объектно-ориентированную оболочку вокруг отношений между таблицами представляет класс DataRelation. При создании объекта этого класса необходимо указать имя отношений, а также родительскую и подчиненную таблицы. Чтобы отношение было успешно установлено, в каждой из таблиц должен быть столбец с одинаковым названием и типом данных.

Объекты DataRelation хранятся в коллекции DataRelationCollection, поддерживаемой DataSet. В типе DataRelation предусмотрены свойства, которые позволяют получать ссылки на родительскую и подчиненную таблицу, участвующую в отношении, определять имя отношения и т. п. Наиболее часто используемые свойства представлены в таблице 2. 9.

 

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

 

Свойство Описание
ChildColumns ChildKeyConstraint ChildTable Позволяют получить информацию о подчиненной таблице, участвующей в отношении, а также ссылку на саму эту таблицу
DataSet Позволяет получить ссылку на объект DataSet, к которому принадлежит данное отношение
ParentColumns ParentKeyConstraint ParentTable Позволяют получить информацию о родительской таблице, участвующей в отношении, а также ссылку на саму эту таблицу
RelationName Позволяет получить или задать имя для данного отношения

 

Перемещение между таблицами производится при помощи методов, определенных в классе DataRow. Так, метод GetChildRows() позволяет считывать строки из подчиненной таблицы, а метод GetParentRows() – из родительской таблицы.

 

Поделиться:





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



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