Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Este exemplo ilustra a utilização da propriedade ClientSideXml. A aplicação executa um procedimento armazenado no servidor. O resultado do procedimento armazenado (um conjunto de linhas de duas colunas) é processado do lado do cliente para produzir um documento XML.
O procedimento armazenado GetContacts a seguir devolve Primeiro Nome e Apelido dos colaboradores na tabela Person.Contact na base de dados AdventureWorks.
USE AdventureWorks2022;
CREATE PROCEDURE GetContacts @LastName varchar(20)
AS
SELECT FirstName, LastName
FROM Person.Contact
WHERE LastName = @LastName
Go
Esta aplicação C# executa o procedimento armazenado e especifica a opção FOR XML AUTO ao especificar o valor CommandText. Na aplicação, a propriedade ClientSideXml do objeto SqlXmlCommand é definida como verdadeira. Isto permite-lhe executar procedimentos armazenados pré-existentes que retornam um conjunto de linhas e aplicam uma transformação XML a ele no cliente.
Observação
No código, deve fornecer o nome da instância do Microsoft SQL Server na cadeia de ligação.
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;
}
}
Para testar este exemplo, deve ter o Microsoft .NET Framework instalado no seu computador.
Para testar a aplicação
Crie o procedimento armazenado.
Guarde o código C# (DocSample.cs) fornecido neste exemplo numa pasta. Edite o código para especificar a informação adequada de login e palavra-passe.
Compila o código. Para compilar o código no prompt de comandos, use:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csIsto cria um executável (DocSample.exe).
No prompt de comandos, execute DocSample.exe.