Executando consultas SQL usando o método ExecuteXMLReader
Em vez de usar o método ExecuteToStream, você pode usar o método ExecuteXmlReader do objeto SqlXmlCommand para executar comandos. Esse método retorna um objeto XmlReader que pode ser usado para processamento futuro do resultado (que nesse exemplo está imprimindo o elemento ou os nomes e valores do atributo).
Observação |
---|
No código, é necessário fornecer o nome da instância do Microsoft SQL Server na cadeia de conexão. |
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;
}
}
Para testar o aplicativo
Verifique se você tem o Microsoft .NET Framework instalado em seu computador.
Salve o código C# (DocSample.cs) fornecido neste tópico em uma pasta.
Compile o código. Para compilar o código no prompt de comando, use:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.cs
Isso cria um executável (DocSample.exe).
No prompt de comando, execute DocSample.exe.