Delen via


SQL-query's uitvoeren met behulp van de methode ExecuteXMLReader

Van toepassing op:SQL ServerAzure SQL Database

In plaats van de ExecuteToStream-methode te gebruiken, kun je de ExecuteXmlReader-methode van het SqlXmlCommand-object gebruiken om commando's uit te voeren. Deze methode levert een XmlReader-object terug dat gebruikt kan worden voor verdere verwerking van het resultaat (wat in dit voorbeeld het afdrukken van de element- of attribuutnamen en de waarden is).

Opmerking

In de code moet je de naam van de instantie van Microsoft SQL Server in de verbindingsstring opgeven.

using System;  
using Microsoft.Data.SqlXml;  
using System.IO;  
using System.Xml;  
   class Test  
   {  
      static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks2022;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.Person 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;  
      }  
   }  

De toepassing testen

  1. Zorg ervoor dat je het Microsoft .NET Framework op je computer hebt geïnstalleerd.

  2. Sla de C#-code (DocSample.cs) die in dit onderwerp wordt vermeld op in een map.

  3. Compileer de code. Om de code in de opdrachtprompt te compileren, gebruik u:

    csc /reference:Microsoft.Data.SqlXML.dll DocSample.cs  
    

    Dit creëert een uitvoerbaar bestand (DocSample.exe).

  4. Voer bij de opdrachtprompt DocSample.exeuit.