Exécution de requêtes SQL à l'aide de la méthode ExecuteXMLReader

S’applique à :SQL ServerAzure SQL Database

Au lieu d’utiliser la méthode ExecuteToStream, vous pouvez utiliser la méthode ExecuteXmlReader de l’objet SqlXmlCommand pour exécuter des commandes. Cette méthode retourne un objet XmlReader qui peut être utilisé pour le traitement ultérieur du résultat (qui, dans cet exemple, consiste à imprimer les noms d’éléments ou d’attributs et les valeurs).

Notes

Dans le code, vous devez fournir le nom du instance de Microsoft SQL Server dans la chaîne de connexion.

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;  
      }  
   }  

Pour tester l'application

  1. Vérifiez que Microsoft .NET Framework est installé sur votre ordinateur.

  2. Enregistrez le code C# (DocSample.cs) fourni dans cette rubrique dans un dossier.

  3. Compilez le code. Pour compiler le code à l'invite de commandes, utilisez :

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

    Un fichier exécutable (DocSample.exe) est alors créé.

  4. À l'invite de commandes, exécutez DocSample.exe.