共用方式為


在用戶端上處理 XML (SQLXML Managed 類別)

此範例說明 ClientSideXml 屬性的用法。 應用程式會在伺服器上執行預存程序。 預存程序的結果 (兩個資料行的資料列集) 會在用戶端上進行處理以產生 XML 文件。

下列 GetContacts 預存程序會在 AdventureWorks 資料庫的 Person.Contact 資料表中,傳回員工的 FirstNameLastName

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

此 C# 應用程式會執行預存程序,並指定 FOR XML AUTO 選項來指定 CommandText 值。 在應用程式中,SqlXmlCommand 物件的 ClientSideXml 屬性會設定為 True。 這可讓您執行預先存在的預存程序以傳回資料列集,並在用戶端上,將 XML 轉換套用到該資料列集。

[!附註]

在程式碼中,您必須於連接字串內提供 Microsoft SQL Server 執行個體的名稱。

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

若要測試此範例,您必須先在電腦上安裝 Microsoft .NET Framework。

若要測試應用程式

  1. 建立預存程序。

  2. 將此範例中提供的 C# 程式碼 (DocSample.cs) 儲存到資料夾中。 編輯該程式碼來指定適當的登入和密碼資訊。

  3. 編譯程式碼。 若要在命令提示字元中編譯程式碼,請使用:

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

    這樣會建立一個可執行檔 (DocSample.exe)。

  4. 在命令提示字元中執行 DocSample.exe。