Российская международная академия туризма
Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 807 / 36 | Оценка: 4.33 / 4.33 | Длительность: 13:07:00
Лекция 10:

Формат XML для Smartdevice. Создание и управление объектами ADO.NET

< Лекция 9 || Лекция 10: 12 || Лекция 11 >
Аннотация: В лекции описаны назначение и преимущества интеграции ADO.NET с XML. Приведен пример, демонстрирующий вывод XML-документа в файл

Существуют различные мнения относительно важности 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. Разработка графического интерфейса


Рис. 9.1.

Рис. 9.2.

Графический интерфейс строится с использованием одной формы с надписью (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


Рис. 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
< Лекция 9 || Лекция 10: 12 || Лекция 11 >