Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Извлечение данных XML из баз данных SQL Server 2000
8 февраля 2009

SQL Server 2000 содержит встроенную поддержку доступа к данным XML, благода-
ря которой удается извлекать из БД и записывать в память данные в этом формате.
Эту поддержку обеспечивает провайдер данных ADO.NET для SQL Server.
Получение объекта XmlReader с помощью SqlCommand
Класс SqlCommand поддерживает метод для извлечения данных в формате XML —
ExecuteXmiReader. Этот метод возвращает объект XmlReader, предоставляющий дан-
ные, которые вернул класс SqlCommand., в виде набора строк в формате XML. При
этом в SQL-запросе SELECT, который исполняет метод ExecuteXmi Reader, должна
быть конструкция FOR XML. Это метод поддерживает только класс SqlCommand и
применяется для подключения к БД SQL Server 2000 и выше.
Класс XmlReader во многом напоминает DataReader: он предоставляет доступ к
XML-данным, полученным в результате исполнения запроса, только для однона-
правленного чтения. Как и DataReader, класс XmlReadenpe6yer монопольного до-
ступа к объекту соединения.
Объект XmlReader поддерживает метод Read, похожий на метод Read объекта
DataReader, и позволяет перебирать узлы XML-документа. Этот метод Read, подоб-
но одноименному методу объекта DataReader, устанавливает указатель на следую-
щий узел XML-потока и возвращает значение false по достижении последнего узла.
Как и в случае DataReader, следует вызвать метод Read, чтобы сделать доступным
первый узел. Следующий пример демонстрирует извлечение объекта XmlReader и
чтение возвращаемого им потока XML:
Visual Basic .NET
Этот пример предполагает наличие действительного
' объекта SqlConnection с именем SqlConnectionl.
Dim myReader As Xml.XmlReader
Dim mySQLCornmand As New SqlClient.SqlComrnandf
"SELECT * FROM Customers FOR XML AUTO, XMLDATA", SqlConnectionl)
SqlConnectionl.Open
myReader = mySQLCornmand. ExecuteXmlReader()
While myReader.Read()
1 Вывести содержимое данного узла и любых дочерних
1 узлов, включая разметку, на консоль.
Console. WriteLine(myReade г. ReadOuterXmlQ)
End While
myReader.Close
SqlConnectionl.Close
Visual C#
// Этот пример предполагает наличие действительного
// объекта SqlConnection с именем SqlConnectionl.
System.Xml.XmlReader myReader;
SqlCommand mySQLComrnand = new SqlCommand(
"SELECT * FROM Customers FOR XML AUTO, XMLDATA", SqlConnectionl);
SqlConnectionl.Open();
myReader = mySQLCommand.ExecuteXmlReader();
while (myReader.ReadO)
{
// Вывести содержимое данного узла и любых дочерних
// узлов, включая разметку, на консоль.
Console.WriteLine(myReader.ReadOuterXml());
!
myReader.Close();
SqlConnectionl. CloseO;

Теги: .NET

Статьи по теме:

Объявление методов
Создание экземпляров пользовательских типов
Типы значений и ссылочные типы
Формирование запросов SQL во время выполнения
Стратегия оптимизации
Создание обработчика для группы событий
Применение трассировочных переключателей
Установка точек прерывания
Команды для манипулирования данными
Создание экземпляров элементов управления ActiveX
Константы и перечисления
Автоматизация разработки
Типы данных .NET Framework
Проект установочной программы
Создание компонента DoughnutMachine
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31


     



Rambler

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Извлечение данных XML из баз данных SQL Server 2000. Регион сайта: Москва и Санкт-Петербург