Формат XML для Smartdevice. Создание и управление объектами ADO.NET
Существуют различные мнения относительно важности XML в разработке программного обеспечения. Компания Microsoft разработала собственную стратегию NET, направленную на использование XML и Web-служб в качестве "прослойки", обеспечивающей такое взаимодействие между компаниями, которое не зависит от использующихся в них операционных систем и механизмов хранения данных. Поскольку XML – это данные, a ADO.NET – механизм работы с данными в .NET, тот факт что ADO.NET поддерживает работу с XML-документами наравне с остальными данными, выглядит вполне естественно. В этом аспекте библиотека ADO.NET является тесно интегрированной с инфраструктурой XML .NET.
ADO.NET-стратегию Microsoft в отношении XML необходимо рассматривать с двух сторон: с одной стороны, Microsoft стремится предоставить те же инструменты для доступа к XML-содержимому, которые используются для доступа к информации, хранящейся в базе данных, с другой – обеспечить в ADO.NET средства преобразования информации базы данных в формат XML. Отметим, что название ADO.NET не совсем корректное, так как ADO.NET не является прямым "наследником" ADO.
Поскольку ADO.NET - всего лишь механизм работы с данными в .NET, то справедливым представляется утверждение, что XML представляет собой просто еще один формат данных.
Во времена ADO/OLE DB для обработки информации из некоего источника данных (например, базы данных) необходимо было создать поставщик OLE DB, который довольно сложен и запутан (вспомните синтаксис ConnectionString разных поставщиков, рассмотренный в части 1). В .NET для доступа к информации из источника, отличного от базы данных, можно либо создать управляемый поставщик, либо воспользоваться преимуществами тесной интеграции ADO.NET с XML.
Ядро такой интеграции - класс DataSet. Можно загружать данные и схему из XML-потока или документа в объект DataSet и наоборот, перманентно сохранять или сериализовать данные или схему из объекта DataSet в XML-поток или документ. ADO синхронизирует объект DataSet с объектом XmlDataDocument. Данные можно модифицировать одновременно, используя любой из классов; все изменения, произведенные с помощью одного из классов, моментально отражаются в другом классе.
Эта глава посвящена поддержке XML в ADO.NET для карманных персональных компьютеров. Вынужден сразу оговориться, что также как и для текстовых форматов, так и для XML возможности использования ADO.NET реализованы для КПК не в полной мере по сравнению с настольными системами. Поддержка XML в .NET обеспечивается интегрированными классами в пяти пространствах имен:
- System.Xml - содержит классы, обеспечивающие стандартизированную поддержку для обработки XML;
- System.Xml.Schema - содержит классы, обеспечивающие стандартизированную поддержку схем на языке XML Schema Definition Language (XSD);
- System.Xml.Serialization - содержит классы, осуществляющие сериализацию объектов в XML-докумснты или потоки;
- System.Xml.XPath - содержит классы, осуществляющие синтаксический разбор и вычисление XPath;
- System.Xml.Xsl - содержит классы, поддерживающие XSL - преобразования.
Чтобы описать модификацию, которые претерпел набор данных, Microsoft предложила XML–формат DiffGram, идентифицирующий текущую и исходную версии данных, позволяя точно воссоздавать содержимое набора данных. Этот формат, благодаря своей XML-сущности, независим от платформы и приложения, однако не имеет широкого употребления или средств интерпретации вне приложений Microsoft .NET [ [ 3 ] ]
Создание и управление объектами ADO.NET
Задача темы: изучить методику и получить навыки в разработке приложений для управления базами данных в гипертекстовом формате XML.
Разработка: Приложение "Привязка данных к элементам управления Windows" для просмотра данных XML в Windows-форме.
Состав выполняемых функций:
- Файловые операции: открыть, сохранить, закрыть
- Алгоритмы: просмотр и прокрутка записей базы в текстовых полях, списках и таблицах; просмотр отдельной записи
- Информационно-справочные: нет
Наращивание функциональности не предусматривается.
Защита данных – нет.
В качестве входных данных используются программно сформированные объекты. Выходные данные программы – графическое отображение результатов в виде текстовых полей, списков и таблиц для SmartDevice.; файл DataSet.xml
Шаг 1. Разработка графического интерфейса
Графический интерфейс строится с использованием одной формы с надписью (label) "Привязка данных к элементам управления Windows-форм"; тремя кнопками: "Выход", "Заполнить" (изначально свойство Visible =True ), "Очистить" (кнопка совмещена с кнопкой "Заполнить и изначально свойство Visible =False, а при загруженных данных в элементы просмотра свойство меняется на Visible =True ), "Сохранить"; TabControl из трех закладок – примерный дизайн показан на рис.9.1, 9.2, 9.3.
Закладка TextBox содержит 4 надписи: "Сумма", "Цель", "Фирма", "Дата"; 5 полей, свойство одно из которых ReadOnly=True ; кнопку прокрутки записей "Next" - рис.9.1.
Закладка ListBox содержит 4 листбокса для вывода записей таблицы и кнопку просмотра идентификационного номера записи "Ключ ID" - рис.9.2
Закладка DataGrid содержит только элемент для просмотра таблиц DataGrid – рис. 9.3
Шаг 2. Расширяем состав библиотек
Добавляем библиотеки работы с файлами и с форматами XML
using System; using System.Drawing; using System.Collections; using System.Windows.Forms; using System.Data; using System.IO; // добавляем библиотеку работы с файлами using System.Xml; // добавляем библиотеку работы с форматами XML