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


XML feldolgozása ügyféloldalon (FELÜGYELT SQLXML-osztályok)

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

Ez a példa a ClientSideXml tulajdonság használatát mutatja be. Az alkalmazás egy tárolt eljárást hajt végre a szerveren. A tárolt eljárás (kétoszlopos sorhalmaz) eredményét a kliens oldalon dolgozzák fel, hogy XML dokumentumot állítsanak elő.

A következő GetContacts tárolt eljárás visszaadja az alkalmazottak keresztnevét és vezetéknevét az AdventureWorks adatbázis Person.Contact táblájában.

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

Ez a C# alkalmazás végrehajtja a tárolt eljárást, és megadja a FOR XML AUTO opciót a CommandText érték megjelölésekor. Az alkalmazásban a SqlXmlCommand objektum ClientSideXml tulajdonsága true módra van állítva. Ez lehetővé teszi, hogy előre tárolt eljárásokat hajts végre, amelyek visszaadnak egy sorhalmazt, és XML transzformációt alkalmazzunk rá az ügyfélen.

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

A példát tesztelni a Microsoft .NET Framework-nek be kell telepítenie a számítógépére.

Az alkalmazás tesztelése

  1. Hozd létre a tárolt eljárást.

  2. Mentsük el a C# kódot (DocSample.cs), amely ebben a példában található, egy mappába. Szerkessze a kódot, hogy megadja a megfelelő bejelentkezési és jelszóadatokat.

  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.