Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Класс DataSet

Расположенный в памяти кэш данных DataSetреализован в виде DataSet – класса:

Пространство имен:  System.Data Сборка:  System.Data (в System.Data.dll)

 Синтаксис

Язык C#

[SerializableAttribute]

public class DataSet : MarshalByValueComponent, IListSource,

IXmlSerializable, ISupportInitializeNotification, ISupportInitialize, ISerializable

Объекты набора данных доступны разработчику посредством стандартных программных конструкций, таких как свойства и коллекции. Например:

  • Класс DataSetсодержит коллекцию таблиц данныхDataTableCollectionиDataRelationCollection.Доступ к таблицам коллекцииDataTableCollectionосуществляется с помощью свойстваTables.

  • Класс DataRelationCollectionсодержит коллекцию объектовDataRelation.

  • Класс DataTableвключает коллекцию строк таблицыDataRowCollection, коллекцию столбцов таблицыDataColumnCollectionи коллекции отношенийChildRelationsиParentRelations.

  • Класс DataRowсодержит свойствоRowState, показывающее, изменилась ли строка с момента первой ее загрузки из базы данных и как.Возможны следующие значения свойства RowState: Deleted, Modified, Added и Unchanged.

  • Класс DataRelationCollectionпозволяет перемещаться по структуре таблиц с объектамиDataTable.

Сравнение типизированных и нетипизированных наборов данных

Наборы данных могут быть типизированными или нетипизированными. Типизированные наборы данных получают свою схему (таблицу и структуру столбцов) из файлов XSD и проще программируются. В своих приложениях можно использовать как типизированные, так и нетипизированные наборы данных. Однако для поддержки типизированных наборов данных в Visual Studio предусмотрено больше инструментов, которые упрощают процесс программирования наборов данных и уменьшают вероятность возникновения ошибки.

Создать типизированный набор данных можно, запустив мастер Мастер конфигурации источников данных, или путем добавления элемента DataSet с помощью команды "Добавить новый элемент" в меню "Проект". Дополнительные сведения см. в разделеСоздание наборов данных

Типизированный набор данных извлекается из базового класса DataSetи затем использует сведения изКонструктора наборов данных, которые хранятся в XSD-файле, для создания нового строго типизированного класса набора данных. Сведения, указанные в схеме (таблицы, столбцы и т. д.), создаются и компилируются в этот новый класс набора данных как набор объектов и свойств первичного класса. Так как типизированные наборы данных наследуются от базового классаDataSet, типизированный класс обладает всеми функциональными возможностями классаDataSetи может использоваться с методами, принимающими экземпляр классаDataSetв качестве параметра.

Нетипизированный набор данных, в отличие от типизированного, не имеет соответствующей встроенной схемы. Как и типизированный набор данных, нетипизированный набор содержит такие структуры, как таблицы, столбцы и др., однако они доступны только как коллекции. (Однако после создания вручную таблиц и других элементов данных нетипизированного набора данных можно экспортировать структуру набора данных в качестве схемы с помощью метода WriteXmlSchemaнабора данных.)