Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Considerando um esquema XML que está em conformidade com o padrão de linguagem de definição de esquema XML padrão da linguagem (XSD), você pode gerar um DataSet fortemente tipado usando a ferramenta XSD.exe fornecida com o SDK (Software Development Kit) do Windows.
(Para criar um xsd a partir de tabelas de banco de dados, consulte WriteXmlSchema ou trabalhando com conjuntos de dados no Visual Studio).
O código a seguir mostra a sintaxe para gerar um DataSet usando essa ferramenta.
xsd.exe /d /l:CS XSDSchemaFileName.xsd /eld /n:XSDSchema.Namespace
Nessa sintaxe, a /d diretiva informa à ferramenta para gerar um DataSet e /l: informa à ferramenta qual idioma usar (por exemplo, C# ou Visual Basic .NET). A diretiva opcional /eld especifica que você pode usar LINQ to DataSet para consultar o Conjunto de Dados gerado. Essa opção é usada quando a opção /d também é especificada. Para obter mais informações, consulte Consulta de conjuntos de dados tipados. A diretiva opcional /n: instrui a ferramenta a também gerar um namespace para o DataSet, denominado XSDSchema.Namespace. A saída do comando é XSDSchemaFileName.cs, que pode ser compilada e usada em um aplicativo ADO.NET. O código gerado pode ser compilado como uma biblioteca ou um módulo.
O código a seguir mostra a sintaxe para compilar o código gerado como uma biblioteca usando o compilador C# (csc.exe).
csc.exe /t:library XSDSchemaFileName.cs /r:System.dll /r:System.Data.dll
As diretivas /t: informam à ferramenta para compilar para uma biblioteca, e as diretivas /r: especificam as bibliotecas dependentes necessárias para compilar. A saída do comando é XSDSchemaFileName.dll, que pode ser passada para o compilador ao compilar um aplicativo ADO.NET com a /r: diretiva.
O código a seguir mostra a sintaxe para acessar o namespace passado para XSD.exe em um aplicativo ADO.NET.
Imports XSDSchema.Namespace
using XSDSchema.Namespace;
O exemplo de código a seguir usa um DataSet tipado chamado CustomerDataSet para carregar uma lista de clientes do banco de dados Northwind. Depois que os dados são carregados com o uso do método Fill, o exemplo itera por cada cliente na tabela Customers utilizando o objeto tipado CustomersRow (DataRow). Isso fornece acesso direto à CustomerID coluna, em vez de por meio do DataColumnCollection.
Dim customers As CustomerDataSet= New CustomerDataSet()
Dim adapter As SqlDataAdapter New SqlDataAdapter( _
"SELECT * FROM dbo.Customers;", _
"Data Source=(local);Integrated " & _
"Security=SSPI;Initial Catalog=Northwind")
adapter.Fill(customers, "Customers")
Dim customerRow As CustomerDataSet.CustomersRow
For Each customerRow In customers.Customers
Console.WriteLine(customerRow.CustomerID)
Next
CustomerDataSet customers = new CustomerDataSet();
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT * FROM dbo.Customers;",
"Data Source=(local);Integrated " +
"Security=SSPI;Initial Catalog=Northwind");
adapter.Fill(customers, "Customers");
foreach(CustomerDataSet.CustomersRow customerRow in customers.Customers)
Console.WriteLine(customerRow.CustomerID);
Veja a seguir o esquema XML usado para o exemplo:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="CustomerDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="CustomerDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element name="CustomerID" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>