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

Plutôt que 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 un traitement ultérieur (qui consiste dans cet exemple à imprimer le nom et la valeur des éléments ou attributs).

Notes

Dans le code, vous devez fournir le nom de l'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=AdventureWorks2008R2;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. Assurez-vous que le 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.