Выполнение SQL-запросов с использованием метода ExecuteXMLReader
Вместо метода ExecuteToStream для выполнения команд можно воспользоваться методом ExecuteXmlReader объекта SqlXmlCommand. Этот метод возвращает объект XmlReader, который может быть использован для дальнейшей обработки результата (в данном примере это печать имени элемента и атрибута и его значения).
Примечание |
|---|
В коде в строке соединения необходимо задать имя экземпляра Microsoft SQL Server. |
using System;
using Microsoft.Data.SqlXml;
using System.IO;
using System.Xml;
class Test
{
static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks;Integrated Security=SSPI";
public static int testParams()
{
SqlXmlParameter p;
XmlReader Reader;
XmlTextWriter tw;
SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.CommandText = "select FirstName, LastName from Person.Contact where LastName = ? For XML Auto";
p = cmd.CreateParameter();
p.Value = "Achong";
Reader = cmd.ExecuteXmlReader();
tw = new XmlTextWriter(Console.Out);
Reader.MoveToContent();
tw.WriteNode(Reader, false);
tw.Flush();
tw.Close();
Reader.Close();
return 0;
}
static int Main(string[] args)
{
testParams();
return 0;
}
}
Тестирование приложения
Убедитесь, что на компьютере установлена платформа Microsoft .NET Framework.
Сохраните в папке код C# (файл DocSample.cs), который приведен в этом разделе.
Скомпилируйте код. Чтобы скомпилировать код из командной строки, введите следующую команду.
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csБудет создан исполняемый файл (DocSample.exe).
Запустите файл DocSample.exe из командной строки.
Примечание