Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Beispiel veranschaulicht die Verwendung der ClientSideXml-Eigenschaft. Die Anwendung führt eine gespeicherte Prozedur auf dem Server aus. Das Ergebnis der gespeicherten Prozedur (ein Rowset mit zwei Spalten) wird auf der Clientseite verarbeitet und ein XML-Dokument produziert.
Die folgende GetContacts gespeicherte Prozedur gibt die Informationen FirstName und LastName von Mitarbeitern in der Person.Contact-Tabelle der AdventureWorks-Datenbank zurück.
USE AdventureWorks
CREATE PROCEDURE GetContacts @LastName varchar(20)
AS
SELECT FirstName, LastName
FROM Person.Contact
WHERE LastName = @LastName
Go
Diese C#-Anwendung führt die gespeicherte Prozedur aus und gibt die FOR XML AUTO-Option als Wert für CommandText an. In der Anwendung wird für die ClientSideXml-Eigenschaft des SqlXmlCommand-Objekts TRUE festgelegt. Auf diese Weise können Sie bereits bestehende gespeicherte Prozeduren ausführen, die ein Rowset zurückgeben und auf dem Client eine XML-Transformation auf das Rowset anwenden.
Hinweis |
|---|
Im Code müssen Sie den Namen der Instanz von Microsoft SQL Server in der Verbindungszeichenfolge bereitstellen. |
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;
}
}
Um das Beispiel zu testen, muss auf dem Computer Microsoft .NET Framework installiert sein.
So testen Sie die Anwendung
Erstellen Sie die gespeicherte Prozedur.
Speichern Sie den in diesem Beispiel bereitgestellten C#-Code (DocSample.cs) in einem Ordner. Bearbeiten Sie den Code, um entsprechende Anmelde- und Kennwortinformationen anzugeben.
Kompilieren Sie den Code. Verwenden Sie zur Kompilierung des Codes an der Eingabeaufforderung die folgende Zeichenfolge:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csDadurch wird eine ausführbare Datei (DocSample.exe) erstellt.
Führen Sie DocSample.exe an der Eingabeaufforderung aus.
Hinweis