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


* При перепечатке материалов ссылка на 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

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

Структуры CTS
Обеспечение совместимости с замещенными или скрытыми членами
Переменные методов
Промежуточный язык
Автоматизация разработки
Рекурсия
Работа с фокусом ввода
Пошаговое исполнение кода
Специальные возможности и логотип «Certified for Windows»
Реализация членов интерфейса на Visual Basic .NET
Сборщик мусора
Сокрытие членов базового класса в Visual C#
Рисование простых фигур
Создание производных элементов управления
Создание плана блочного тестирования
| .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


     



Rambler's Top100

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

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