Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Dit voorbeeld illustreert het gebruik van de ClientSideXml-eigenschap. De applicatie voert een opgeslagen procedure uit op de server. Het resultaat van de opgeslagen procedure (een rijset met twee kolommen) wordt aan de clientzijde verwerkt om een XML-document te produceren.
De volgende GetContacts-opgeslagen procedure geeft Voornaam en Achternaam van medewerkers terug in de Person.Contact-tabel in de AdventureWorks-database.
USE AdventureWorks2022;
CREATE PROCEDURE GetContacts @LastName varchar(20)
AS
SELECT FirstName, LastName
FROM Person.Contact
WHERE LastName = @LastName
Go
Deze C#-applicatie voert de opgeslagen procedure uit en specificeert de optie FOR XML AUTO bij het specificeren van de CommandText-waarde. In de applicatie is de ClientSideXml-eigenschap van het SqlXmlCommand-object op true gezet. Dit stelt je in staat om bestaande opgeslagen procedures uit te voeren die een rowset teruggeven en een XML-transformatie daarop toe te passen op de client.
Opmerking
In de code moet je de naam van de instantie van Microsoft SQL Server in de verbindingsstring opgeven.
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;
}
}
Om dit voorbeeld te testen, moet je het Microsoft .NET Framework op je computer hebben geïnstalleerd.
De toepassing testen
Maak de opgeslagen procedure.
Sla de C#-code (DocSample.cs) die in dit voorbeeld wordt gegeven op in een map. Bewerk de code om de juiste inlog- en wachtwoordinformatie te specificeren.
Compileer de code. Om de code in de opdrachtprompt te compileren, gebruik u:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csDit creëert een uitvoerbaar bestand (DocSample.exe).
Voer bij de opdrachtprompt DocSample.exeuit.