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 mostra:
Como usar Classes Geridas Microsoft SQLXML (Microsoft.Data.SqlXml) para aceder ao Microsoft SQL Server no ambiente Microsoft .NET Framework.
Como os DiffGrams gerados no ambiente .NET Framework podem aplicar atualizações de dados às tabelas SQL Server.
Nesta aplicação, uma consulta XPath é executada contra um esquema XSD. A execução da consulta XPath devolve um documento XML que consiste em dados de contacto (Nome,Apelido). A aplicação carrega o documento XML no conjunto de dados no ambiente .NET Framework. Os dados no conjunto de dados são modificados: o primeiro nome do contacto é alterado para "Susan" para o primeiro contacto no conjunto de dados. O DiffGram é gerado a partir do conjunto de dados, e a atualização especificada no DiffGram (a alteração do primeiro nome do colaborador) é então aplicada à tabela Person.Contact.
Observação
No código, deve fornecer o nome da instância do SQL Server na cadeia de conexão.
using System;
using System.Data;
using Microsoft.Data.SqlXml;
using System.IO;
class Test
{
static string ConnString = "Provider=SQLOLEDB;Server=SqlServerName;database=AdventureWorks;Integrated Security=SSPI;";
public static int testParams()
{
DataRow row;
SqlXmlAdapter ad;
//need a memory stream to hold diff gram temporarily
MemoryStream ms = new MemoryStream();
SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.RootTag = "ROOT";
cmd.CommandText = "Con";
cmd.CommandType = SqlXmlCommandType.XPath;
cmd.SchemaPath = "MySchema.xml";
//load data set
DataSet ds = new DataSet();
ad = new SqlXmlAdapter(cmd);
ad.Fill(ds);
row = ds.Tables["Con"].Rows[0];
row["FName"] = "Susan";
ad.Update(ds);
return 0;
}
public static int Main(String[] args)
{
testParams();
return 0;
}
}
Para testar o exemplo:
Para testar este exemplo, deve ter o Microsoft .NET Framework instalado no seu computador.
Guarde este esquema XSD (MySchema.xml) numa pasta:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="Con" sql:relation="Person.Contact" > <xsd:complexType> <xsd:sequence> <xsd:element name="FName" sql:field="FirstName" type="xsd:string" /> <xsd:element name="LName" sql:field="LastName" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="ContactID" type="xsd:integer" /> </xsd:complexType> </xsd:element> </xsd:schema>Guarde o código C# (DocSample.cs) fornecido neste exemplo na mesma pasta onde o esquema está armazenado. (Se guardar os ficheiros numa pasta diferente, terá de editar o código e especificar o caminho de diretório apropriado para o esquema de mapeamento.)
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.