Esecuzione di query SQL tramite il metodo ExecuteXMLReader
Al posto del metodo ExecuteToStream, è possibile utilizzare il metodo ExecuteXmlReader dell'oggetto SqlXmlCommand per eseguire i comandi. Questo metodo restituisce un oggetto XmlReader che può essere utilizzato per un'ulteriore elaborazione del risultato, operazione che in questo esempio implica la stampa dei valori e dei nomi e degli elementi o degli attributi.
[!NOTA]
Nel codice è necessario specificare il nome dell'istanza di Microsoft SQL Server nella stringa di connessione.
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;
}
}
Per testare l'applicazione
Assicurarsi che Microsoft .NET Framework sia installato nel computer.
Salvare in una cartella il codice C# (DocSample.cs) fornito in questo argomento.
Compilare il codice. Per compilare il codice al prompt dei comandi, utilizzare:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.cs
Viene creato un file eseguibile (DocSample.exe).
Al prompt dei comandi eseguire DocSample.exe.