Sdílet prostřednictvím


Zpracování XML na straně klienta (spravované třídy SQLXML)

platí pro:SQL Serverazure SQL Database

Tento příklad ilustruje použití vlastnosti ClientSideXml. Aplikace spustí uloženou proceduru na serveru. Výsledek uložené procedury (dvousloupcová řádková sada) je zpracován na straně klienta za účelem vytvoření XML dokumentu.

Následující uložená procedura GetContacts vrací křestní jméno a příjmení zaměstnanců v tabulce Person.Contact v databázi AdventureWorks.

USE AdventureWorks2022;
CREATE PROCEDURE GetContacts @LastName varchar(20)  
AS  
SELECT FirstName, LastName  
FROM   Person.Contact  
WHERE LastName = @LastName  
Go  

Tato C# aplikace vykonává uloženou proceduru a specifikuje možnost PRO XML AUTO při zadávání hodnoty CommandText. V aplikaci je vlastnost ClientSideXml objektu SqlXmlCommand nastavena na true. To vám umožní spustit již existující uložené procedury, které vracejí sadu řádků, a aplikovat na ni XML transformaci na klientovi.

Poznámka:

V kódu musíte v řetězci spojení uvést název instance Microsoft SQL Serveru.

using System;  
using Microsoft.Data.SqlXml;  
using System.IO;  
class Test  
{  
    static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks;Integrated Security=SSPI";  
      public static int testParams()  
      {  
         //Stream strm;  
         SqlXmlParameter p;  
         SqlXmlCommand cmd = new SqlXmlCommand(ConnString);  
         cmd.ClientSideXml = true;  
         cmd.CommandText = "EXEC GetContacts ? FOR XML NESTED";  
         p = cmd.CreateParameter();  
         p.Value = "Achong";  
         using (Stream strm = cmd.ExecuteStream())   
         {  
            using (StreamReader sr = new StreamReader(strm))  
                  {  
               Console.WriteLine(sr.ReadToEnd());  
            }  
         }  
         return 0;  
      }  
  
public static int Main(String[] args)  
{  
    testParams();  
    return 0;  
}  
}  

Pro testování tohoto příkladu musíte mít na počítači nainstalovaný Microsoft .NET Framework.

Otestování aplikace

  1. Vytvořte uloženou proceduru.

  2. Uložite C# kód (DocSample.cs), který je uveden v tomto příkladu, do složky. Upravte kód tak, aby specifikoval vhodné přihlašovací a heslové údaje.

  3. Zkompilujte kód. Pro kompilaci kódu v příkazovém řádku použijte:

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

    Tím vzniká spustitelný soubor (DocSample.exe).

  4. V příkazovém řádku spusťte DocSample.exe.