Bearbeta XML på klientsidan (SQLXML Managed Classes)

gäller för:SQL ServerAzure SQL Database

Detta exempel illustrerar användningen av egenskapen ClientSideXml. Applikationen kör en lagrad produr på servern. Resultatet av den lagrade proceduren (en tvåkolumns raduppsättning) bearbetas på klientsidan för att skapa ett XML-dokument.

Följande GetContacts-lagrad procedur returnerar Förnamn och Efternamn på anställda i Person.Contact-tabellen i AdventureWorks-databasen.

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

Denna C#-applikation kör den lagrade proceduren och specificerar alternativet FOR XML AUTO när värdet CommandText specificeras. I applikationen är egenskapen ClientSideXml för SqlXmlCommand-objektet satt till sann. Detta gör att du kan köra redan existerande lagrade procedurer som returnerar en radmängd och applicera en XML-transformation på den på klienten.

Anmärkning

I koden måste du ange namnet på instansen av Microsoft SQL Server i anslutningssträngen.

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

För att testa detta exempel måste du ha Microsoft .NET Framework installerat på din dator.

Testa programmet

  1. Skapa den lagrade proceduren.

  2. Spara C#-koden (DocSample.cs) som ges i detta exempel i en mapp. Redigera koden för att ange lämplig inloggnings- och lösenordsinformation.

  3. Komplisera koden. För att kompilera koden i kommandoprompten, använd:

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

    Detta skapar en exekverbar fil (DocSample.exe).

  4. Vid kommandoprompten, utför DocSample.exe.