Megosztás a következőn keresztül:


SQL-lekérdezések végrehajtása az ExecuteXMLReader metódussal

A következőkre vonatkozik:SQL ServerAzure SQL Database

Az ExecuteToStream metódus helyett a SqlXmlCommand objektum ExecuteXmlReader módszerével is végrehajthatod a parancsokat. Ez a módszer egy XmlReader objektumot ad vissza, amelyet további feldolgozásra lehet használni az eredmény további feldolgozásához (ami ebben a példában az elemek vagy attribútumnevek és az értékek nyomtatása).

Megjegyzés:

A kódban meg kell adnod a Microsoft SQL Server példányának nevét a kapcsolódási láncban.

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

Az alkalmazás tesztelése

  1. Győződj meg róla, hogy a Microsoft .NET Framework telepítve van a számítógépedre.

  2. Mentsd el a C# kódot (DocSample.cs), amely ebben a témában található, egy mappában.

  3. Fordítsd le a kódot. A kód fordításához a parancssorban a következőket használjuk:

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

    Ez egy futtatható fájlt (DocSample.exelétrehoz ).

  4. A parancssorban hajtsd végre DocSample.exe.