Share via


Menghasilkan Himpunan Data yang Diketik Dengan Kuat

Mengingat Skema XML yang sesuai dengan standar bahasa definisi Skema XML (XSD), Anda dapat menghasilkan DataSet yang berjenis kuat menggunakan alat XSD.exe yang disediakan dengan Windows Software Development Kit (SDK).

(Untuk membuat xsd dari tabel database, lihat WriteXmlSchema atau Bekerja dengan Himpunan Data di Visual Studio).

Kode berikut menunjukkan sintaks untuk menghasilkan Himpunan Data menggunakan alat ini.

xsd.exe /d /l:CS XSDSchemaFileName.xsd /eld /n:XSDSchema.Namespace  

Dalam sintaks ini, arahan /d memberi tahu alat untuk menghasilkan Himpunan Data, dan /l: memberi tahu alat bahasa apa yang akan digunakan (misalnya, C# atau Visual Basic .NET). Arahan /eld opsional menentukan bahwa Anda dapat menggunakan LINQ ke Himpunan Data untuk mengkueri terhadap Himpunan Data yang dihasilkan. Opsi ini digunakan ketika opsi /d juga ditentukan. Untuk informasi selengkapnya, lihat Mengkueri Himpunan Data yang Berjenis. Arahan /n: opsional memberi tahu alat untuk juga menghasilkan namespace layanan untuk Himpunan Data yang disebut XSDSchema.Namespace. Output perintah adalah XSDSchemaFileName.cs, yang dapat dikompilasi dan digunakan dalam aplikasi ADO.NET. Kode yang dihasilkan dapat dikompilasi sebagai pustaka atau modul.

Kode berikut menunjukkan sintaks untuk mengompilasi kode yang dihasilkan sebagai pustaka menggunakan kompilator C# (csc.exe).

csc.exe /t:library XSDSchemaFileName.cs /r:System.dll /r:System.Data.dll  

Arahan /t: memberi tahu alat untuk mengompilasi ke pustaka, dan arahan /r: menentukan pustaka dependen yang diperlukan untuk dikompilasi. Output perintah XSDSchemaFileName.dll, yang dapat diteruskan ke kompilator saat mengompilasi aplikasi ADO.NET dengan arahan /r:.

Kode berikut menunjukkan sintaks untuk mengakses namespace layanan yang diteruskan ke XSD.exe dalam aplikasi ADO.NET.

Imports XSDSchema.Namespace  
using XSDSchema.Namespace;  

Contoh kode berikut menggunakan Himpunan Data berjenis bernama CustomerDataSet untuk memuat daftar pelanggan dari database Northwind. Setelah data dimuat menggunakan metode Isian, contoh perulangan melalui setiap pelanggan dalam tabel Pelanggan menggunakan objek CustomersRow (DataRow) yang berjenis. Ini menyediakan akses langsung ke kolom CustomerID, dibandingkan dengan melalui 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);  

Berikut ini adalah Skema XML yang digunakan untuk contoh:

<?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>  

Lihat juga