Технология Microsoft ADO.NET



           

Создание типизированного объекта DataSet


Разобравшись наконец со всеми понятиями, приступим к их применению. Как мы знаем, объект DataSet представляет собой кэш, буфер для хранения данных, получаемых из базы. Он состоит из объектов DataTable (таблиц), DataColumn (столбцов) и DataRow (записей). Все столбцы в самой базе данных, разумеется, типизированы - то есть для каждого из них определен тип данных, например, int для ключевого поля, string для примечаний, date/time для даты или времени. При программном создании основных объектов ADO .NET для вывода столбцов из базы данных в объект DataSet, а затем в элемент DataGrid, информация о типах данных, не говоря уже об отношениях между таблицами, теряется. Конечно, можно программно же детализировать структуру объекта DataSet - создать таблицы, поля, определить тип данных полей, создать отношения (именно этим мы и занимались в восьмой лекции), но, наверное, это не самый быстрый и удобный способ определения структуры DataSet. Разумеется, всякая структура лучше простого вывода данных, однако технология ADO .NET предлагает универсальный способ создания типизированных объектов - использование XSD-схем.

С типизированными объектами DataSet мы имели дело с самого начала курса - просто мы не обращали на это внимание. Откройте проект VisualDataMDB из первой лекции, в окне Solution Explorer щелкаем дважды на файле dsCustomer.xsd - появляется элемент со всеми полями таблицы Customer (рис. 11.10):

 XSD-схема dsCustomer.xsd в проекте VisualDataMDB

Рис. 11.10.  XSD-схема dsCustomer.xsd в проекте VisualDataMDB

Вся структура таблицы, включая тип данных и ключевое поле (поле Customer ID, отмечено значком ключа), воспроизведена в этом файле. При запуске приложения среда формирует объект DataSet на основании XSD-схемы.

Приступим теперь к созданию типизированного DataSet. В качестве исходной базы данных воспользуемся файлом BDTur_firm.mdb из первой лекции. Скопируйте его, переименуйте в BDTur_firm_Eng.mdb и откройте в Microsoft Access. Изменим названия таблиц "Туры", "Сезоны", "Путевки", "Оплата" и поля в них так, как это было сделано в таблице 11.6 (см.


Содержание  Назад  Вперед