Bagikan melalui


Memproses XML di Sisi Klien (Kelas Terkelola SQLXML)

Berlaku untuk: SQL ServerAzure SQL Database

Contoh ini mengilustrasikan penggunaan properti ClientSideXml. Aplikasi menjalankan prosedur tersimpan di server. Hasil prosedur tersimpan (set baris dua kolom) diproses di sisi klien untuk menghasilkan dokumen XML.

Prosedur tersimpan GetContacts berikut mengembalikan FirstName dan LastName karyawan dalam tabel Person.Contact di database AdventureWorks.

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

Aplikasi C# ini menjalankan prosedur tersimpan dan menentukan opsi FOR XML AUTO dalam menentukan nilai CommandText. Dalam aplikasi, properti ClientSideXml dari objek SqlXmlCommand diatur ke true. Ini memungkinkan Anda untuk menjalankan prosedur tersimpan yang sudah ada sebelumnya yang mengembalikan set baris dan menerapkan transformasi XML pada klien.

Catatan

Dalam kode, Anda harus memberikan nama instans Microsoft SQL Server di string koneksi.

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

Untuk menguji contoh ini, Anda harus menginstal Microsoft .NET Framework di komputer Anda.

Untuk menguji aplikasi

  1. Buat prosedur tersimpan.

  2. Simpan kode C# (DocSample.cs) yang disediakan dalam contoh ini dalam folder. Edit kode untuk menentukan informasi masuk dan kata sandi yang sesuai.

  3. Kompilasi kode. Untuk mengkompilasi kode di prompt perintah, gunakan:

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

    Ini membuat executable (DocSample.exe).

  4. Pada prompt perintah, jalankan DocSample.exe.