Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Fill yöntemi, DataAdapter yalnızca veri kaynağından tablo sütunlarını ve satırlarını doldurur; kısıtlamalar genellikle veri kaynağı tarafından ayarlansa Fill bile, yöntemi şema bilgilerini DataSet varsayılan ayar olarak eklemez. Bir DataSet'yi veri kaynağından gelen mevcut birincil anahtar kısıtlama bilgileriyle doldurmak için, DataAdapter sınıfının FillSchema yöntemini çağırabilir veya Fill çağrısından önce MissingSchemaAction özelliğini AddWithKey olarak DataAdapter üzerinde ayarlayabilirsiniz. Bu, içindeki birincil anahtar kısıtlamalarının DataSet veri kaynağındakileri yansıtmasını sağlar. Yabancı anahtar kısıtlama bilgileri dahil değildir ve DataTable Kısıtlamaları'nda gösterildiği gibi açıkça oluşturulmalıdır.
Şema bilgilerini verilerle doldurmadan önce öğesine DataSet eklemek, birincil anahtar kısıtlamalarının DataTable nesnelere eklenmesini sağlar. Sonuç olarak, DataSet öğesini doldurmak için ek çağrılar yapıldığında, veri kaynağındaki yeni satırlar her bir DataTable'daki geçerli satırlarla eşleştirmek üzere birincil anahtar sütun bilgileri kullanılır ve tablolardaki mevcut verilerin üzerine veri kaynağından gelen veriler yazılır. Şema bilgileri olmadan, veri kaynağındaki yeni satırlar DataSet'e eklenir ve yinelenen satırlar elde edilir.
Not
Bir veri kaynağındaki bir sütun otomatik artırma olarak tanımlanırsa, FillSchema yöntemi veya Fill yöntemi, MissingSchemaAction ile, DataColumn oluşturur ve bunun AutoIncrement özelliği true olarak ayarlanır. Ancak AutoIncrementStep ve AutoIncrementSeed değerlerini kendiniz ayarlamanız gerekir. Sütunları otomatik olarak artırma hakkında daha fazla bilgi için bkz . AutoIncrement Sütunları Oluşturma.
FillSchema öğesinin kullanılması veya MissingSchemaAction öğesinin AddWithKey olarak ayarlanması, birincil anahtar sütun bilgilerini belirlemek için veri kaynağında ek işlem gerektirir. Bu ek işleme performansı engelleyebilir. Tasarım zamanında birincil anahtar bilgilerini biliyorsanız, en iyi performansı elde etmek için birincil anahtar sütununu veya sütunlarını açıkça belirtmenizi öneririz. Bir tablonun birincil anahtar bilgilerini açıkça ayarlama hakkında bilgi için bkz . Birincil Anahtarları Tanımlama.
Aşağıdaki kod örneğiDataSet kullanarak şema bilgilerinin nasıl ekleneceğini gösterir:
Dim custDataSet As New DataSet()
custAdapter.FillSchema(custDataSet, SchemaType.Source, "Customers")
custAdapter.Fill(custDataSet, "Customers")
var custDataSet = new DataSet();
custAdapter.FillSchema(custDataSet, SchemaType.Source, "Customers");
custAdapter.Fill(custDataSet, "Customers");
Aşağıdaki kod örneği, yönteminin DataSet özelliğini kullanarak 'Filla şema bilgilerinin nasıl ekleneceğini gösterir:
Dim custDataSet As New DataSet()
custAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
custAdapter.Fill(custDataSet, "Customers")
var custDataSet = new DataSet();
custAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
custAdapter.Fill(custDataSet, "Customers");
Birden çok sonuç kümesini işleme
DataAdapter
SelectCommand'dan döndürülen birden çok sonuç kümesiyle karşılaşırsa, DataSet'te birden çok tablo oluşturur. Tablolara, "Tablo0" yerine Table ile başlayarak, sıfır tabanlı artan N varsayılan adı verilecektir. Bir tablo adı FillSchema yöntemine bağımsız değişken olarak geçirildiğinde, tablolara "TableName0" yerine TableName ile başlayan sıfır tabanlı artımlı bir ad, yani TableNameN, verilir.
Not
Nesnesinin FillSchemaOleDbDataAdapter yöntemi birden çok sonuç kümesi döndüren bir komut için çağrılırsa, yalnızca ilk sonuç kümesindeki şema bilgileri döndürülür. OleDbDataAdapter kullanarak birden çok sonuç kümesi için şema bilgilerini döndürürken, Fill yöntemini çağırdığınızda, MissingSchemaActionAddWithKey belirtmeniz ve şema bilgilerini almanız önerilir.