Aracılığıyla paylaş


Kesin Türü Belirtilmiş DataSets Oluşturma

XML Şeması tanım dili (XSD) standardına uygun bir XML Şeması verdiyseniz, Windows Yazılım Geliştirme Seti (SDK) ile sağlanan XSD.exe aracını kullanarak kesin olarak yazılan DataSet bir oluşturabilirsiniz.

(Veritabanı tablolarından xsd oluşturmak için bkz WriteXmlSchema . veya Visual Studio'da Veri Kümeleriyle Çalışma).

Aşağıdaki kod, bu aracı kullanarak DataSet oluşturmaya yönelik söz dizimini gösterir.

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

Bu söz diziminde /d yönerge aracına Bir DataSet oluşturmasını bildirir ve /l: araç hangi dilin kullanılacağını (örneğin, C# veya Visual Basic .NET) bildirir. İsteğe bağlı /eld yönerge, oluşturulan DataSet'i sorgulamak için LINQ to DataSet kullanabileceğinizi belirtir. Bu seçenek, seçenek de belirtildiğinde /d kullanılır. Daha fazla bilgi için bkz . Yazılan Veri Kümelerini Sorgulama. İsteğe bağlı /n: yönerge, aracıya Ayrıca DataSet için XSDSchema.Namespace adlı bir ad alanı oluşturmasını söyler. Komutun çıktısı, ADO.NET bir uygulamada derlenip kullanılabilen XSDSchemaFileName.cs. Oluşturulan kod bir kitaplık veya modül olarak derlenebilir.

Aşağıdaki kod, oluşturulan kodu C# derleyicisi (csc.exe) kullanarak kitaplık olarak derlemeye yönelik söz dizimini gösterir.

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

yönergesi /t: , aralığa bir kitaplığa derlemesini bildirir ve /r: yönergeler derlemek için gereken bağımlı kitaplıkları belirtir. komutun çıktısı XSDSchemaFileName.dll ve yönergesiyle bir ADO.NET uygulaması derlenirken derleyiciye /r: geçirilebilir.

Aşağıdaki kod, bir ADO.NET uygulamasında XSD.exe geçirilen ad alanına erişim söz dizimini gösterir.

Imports XSDSchema.Namespace  
using XSDSchema.Namespace;  

Aşağıdaki kod örneğinde, Northwind veritabanındaki müşterilerin listesini yüklemek için CustomerDataSet adlı bir yazılan DataSet kullanılmıştır. Fill yöntemi kullanılarak veriler yüklendikten sonra, örnek, yazılan CustomersRow (DataRow) nesnesini kullanarak Müşteriler tablosundaki her müşteride döngü oluşturur. Bu, DataColumnCollection'ın aksine CustomerID sütununa doğrudan erişim sağlar.

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);  

Örnek için kullanılan XML Şeması aşağıda verilmiştir:

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

Ayrıca bkz.