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


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

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

Анти-паттерны в действии или Самые популярные ошибки программистов
Формы, элементы управления и меню
Cosmos – C# Open Source Managed Operating System
Локализация формы
Параметры
Редактор пользовательского интерфейса
Реализация полиморфизма через наследование
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Типы данных .NET Framework
Мемоизация (memoization)
Программа сертификации специалистов Microsoft
Перегрузка членов
Использование отладочных инструментов
Удаление и отключение точек прерывания
Cabinet File (*.CAB) Compression and Extraction – версия 9.9
| .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

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

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