Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L'exemple suivant illustre l'utilisation de la propriété ClientSideXml. L'application exécute une procédure stockée sur le serveur. Le résultat de la procédure stockée (un ensemble de lignes à deux colonnes) est traité sur le côté client pour produire un document XML.
La procédure stockée GetContacts suivante retourne le FirstName et le LastName des employés de la table Person.Contact de la base de données AdventureWorks.
USE AdventureWorks
CREATE PROCEDURE GetContacts @LastName varchar(20)
AS
SELECT FirstName, LastName
FROM Person.Contact
WHERE LastName = @LastName
Go
Cette application C# exécute la procédure stockée et spécifie l'option FOR XML AUTO en définissant la valeur CommandText. Dans l'application, la propriété ClientSideXml de l'objet SqlXmlCommand est définie avec la valeur true. Cela vous permet d'exécuter les procédures stockées préexistantes qui retournent un ensemble de lignes et lui appliquent une transformation XML.
[!REMARQUE]
Dans le code, vous devez fournir le nom de l'instance de Microsoft SQL Server dans la chaîne de connexion.
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;
}
}
Pour tester cet exemple, le Microsoft .NET Framework doit être installé sur votre ordinateur.
Pour tester l'application
Créez la procédure stockée.
Enregistrez le code C# (DocSample.cs) fourni dans cet exemple dans un dossier. Modifiez le code pour spécifier les informations de connexion et de mot de passe appropriées.
Compilez le code. Pour compiler le code à l'invite de commandes, utilisez :
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csUn fichier exécutable (DocSample.exe) est alors créé.
À l'invite de commandes, exécutez DocSample.exe.