Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 204

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 198 199 200 201 202 203 < 204 > 205 206 207 208 209 210 .. 260 >> Следующая

Visual Basic .NET
'Добавьте в начало модуля кода следующие строки Imports System.Data.SqlClient Imports System.Xml
Dim xmlDoc As New xmlCocuwcnlO Dim nodRoot As XmlEleinent
¦nodRoot = xmlDoc.AppendCtiildtxsnlDoc.CreateElementC'ROOT"))
Dim strConn, strSQL As String
strConn = "Data Source=(local)\NetSDK;" & _
470 Часть III Автономная работа с данными: объект DataSet модели ADO.NET
"Initial Catalog=NorthKlnd;Trusted_Corneetion=Yes: -strSQL = "SELECT TOP 2 CustomerlD, CompanyName FROM Customers " & _
"FOR XML AUTO, ELEMENTS" Dim en As New SqlConnection(strConn) cn.OpecC)
Dim cso As New SqlConirfiar,d(stiSOL, en)
Dim rdr As XmlReader = cmd.ExecuteXmlReader
Do Until rdr. EOF
nodRoot.AppendChild(xmlDoc. ReadNode( rdr})
Loop
rdr.CloseO en.Close{)
Dim strPathTc-Xriil As String = "C:\HyOata.XHL" xmlDoc. Save{StrPathToXml) S h owXmlInIE(st rPat hTo Xm1)
Visual C# NET
//Добавьте в начало модуля кода следующие строки using System.Data.SqlClient; using System.Xml;
XmlDocument xmlDoc = new XmlDocuraent();
XmlElement noclRoot;
noclRoot = xmlDoc.AppendChild<xmlDoc.CreateEleisent("ROOT"));
string strConn, strSQL;
strConn = "Data Source=<local)\\NetSDK;" +
'"Initial Catalog=Northwind;Trusted J!onnection=Yes; ";
¦strSQL = "SELECT TOP 2 CustomerlD, CompanyName FROM Customers " +
"FOR XML AUTO, ELEMENTS"; SqlConnection en = new SqlCornactionCstrConn); cn.OpenC);
SqlCommand cmd = new SqlCommand(strSQL, en); XmlReader rdr = cmd. ExecuteXmlReaderO;
rdr. Close(); cn.CloseO;
string strPathToXml = "C:\\MyData.XMl"; xmlDoc.Save(strPathToXml); ShowXmlInIE(strPathToXml);
Поставщик данных SQL XML .NET Data Provider
Есть более простой способ выбрать XML-данные из БД SQL Server — воспользоваться поставщиком данных SQL XML Data Provider. Он не входит в состав .NET Framework, однако к моменту издания книги будет доступен на Web-узлах MSDN и SQL Server. После установки этот поставщик данных можно использовать в приложениях, добавляя ссылку на пространство имен Micmso/r.Daiii.SiiIXini
Назначение поставщика SQL XML .NET Data Provider - упростить .NET-програм-v!!H.T;iM работу с ХМ1.ч{:лнк1шя>ш SQL Server. Этот поставщик сильно отличается
ГЛАВА 12 Работа с XML данными
471
от других, поскольку XML-функции SQL Server не являются обычными функциями доступа к данным. Первая версия поставщика SQL ХМ L МШ Data Provider включает только три объекта из состава <-тр;<дш и юн жт j • поставщика данных Л ! (если только что-либо, настолько близкое к первой версии набора технологий, можно назвать «традиционным»).- SqlXmlCommand, SqlXmlAdapter и SqlXmlPammeter.
Рекомендую вам использовать для работы с результатами XML-запроса SQL Server поставщик SQL XML .NET Data Provider, и вот почему.
Загрузка данных в объект
с помощью объекта SqlXmlCommand
Поместить результаты XML-запроса SQL Server в объект XmlDocument проще, чем использовать объект SqlXmlCommand. У SqlXmlCommand есть единственный конструктор, требующий строку подключения к БД SQL Server. Поставщик SQL XML .NET Data Provider не обращается к БД SQL Server напрямую, но способен взаимодействовать с ней при помощи OLE DB. Следовательно, допустимо использовать ту же строку что и для объекта
Как и в случае с OleDbConnection, нужный запрос задается посредством свойства Затем, используя объект этот запрос выполняется, и его результаты помещаются в объект
Результаты запроса из предыдущего фрагмента кода — это XML-фрагмент, а не корректный XML-документ, поскольку узел верхнего уровня отсутствует. Объект SqlXmlCommand предоставляет свойство RootTag, позволяющее добавить в результаты запроса узел верхнего уровня и создать корректный XML-документ. Таким
образом, вместо того чтобы программно дополнять содержимое объекта XmlDocu-
ment узлом верхнего уровня и затем добавлять в этот узел результаты запроса по одному узлу за раз, можно воспользоваться методом
Visual Basic .NET
'Добавьте в начало модуля кода следующие строки Imports Microsoft.Data.SqlXml Imports System.Xml
Dim strCorrn, strSQL As String
strConn = "'Provider=SOLOLEDB; Data Source=( local)\NetSDK;" & "Initial Catalog=Northwind;Trusted_Connection=Yes;"
strSQL = "SELECT TOP 2 CustomerlD, CompanyName FROM Customers " & _
"FOR XML AUTO, ELEMENTS" Dim cmd As New SqlXmlCommand(strConn) cmd.CommandText = strSQL ¦cmd. RootTag = "ROOT" Dim xmlDoc As New XmlDocumentQ Dim rdr As XmlReader = cmd.ExecuteXmlfieader xmlDoc.Load(rdr) rdr.Close()
Dim strFatnToXml As String = "C:\MyOata.XML" xmlDoc.Savefst rPathToXml) ShowXmllnlE(strPathToXml)
472
Часть Автономная работа с данными: объект DataSet модели ADO.NET
Visual C# .NET
//Добавьте в начало модуля кода следующие строки using Microsoft.Data.SqlXml; using System.Xml;
string strConn, strSQL;
strConn = "Provider=SOLOLEDB;Data Source=(local)\\NetSDK;" + "Initial Catalog=Northwind;Trusted_Connection=Yes;";
StrSQL = "SELECT TOP 2 CustomerlD, CompanyName FROM Customers "
"FOR XML AUTO, ELEMENTS";
SqlXmlCommand cmd = new SqiXmlComiiiand(slrConn):
omd.CommandText = strSQL;
Предыдущая << 1 .. 198 199 200 201 202 203 < 204 > 205 206 207 208 209 210 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100