Aracılığıyla paylaş


IDataAdapter.FillSchema(DataSet, SchemaType) Yöntem

Tanım

Belirtilen DataSet öğesine adlandırılmış bir DataTable "Tablo" ekler ve şemayı belirtilen SchemaTypetemelinde veri kaynağındakiyle eşleşecek şekilde yapılandırır.

public:
 cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")>]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Parametreler

dataSet
DataSet

DataSet veri kaynağındaki şemayla doldurulacak.

schemaType
SchemaType

Değerlerden SchemaType biri.

Döndürülenler

Veri kaynağından döndürülen şema bilgilerini içeren bir nesne dizisi DataTable .

Öznitelikler

Açıklamalar

yöntemi, FillSchema kullanarak veri kaynağından şemayı SelectCommandalır. ile ilişkilendirilmiş bağlantı nesnesinin SelectCommand geçerli olması gerekir, ancak açık olması gerekmez. Bağlantı çağrılmadan önce FillSchema kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce FillSchema açıksa açık kalır.

bir FillSchema işlem hedefine DataSetbir DataTable ekler. Ardından öğesine sütunlar DataColumnCollectionDataTable ekler ve veri kaynağında varsa aşağıdaki DataColumn özellikleri yapılandırılır:

FillSchemaayrıca ve Constraints özelliklerini aşağıdaki kurallara göre yapılandırılırPrimaryKey:

  • bir veya daha fazla birincil anahtar sütunu tarafından SelectCommanddöndürülürse, bunlar için DataTablebirincil anahtar sütunları olarak kullanılır.

  • Hiçbir birincil anahtar sütunu döndürülmezse ancak benzersiz sütunlar döndürülmezse, tüm benzersiz sütunlar null atanamazsa, benzersiz sütunlar birincil anahtar olarak kullanılır. Sütunlardan herhangi biri null atanabilirse, öğesine ConstraintCollectionbir UniqueConstraint eklenir, ancak PrimaryKey özelliği ayarlanmaz.

  • Hem birincil anahtar sütunları hem de benzersiz sütunlar döndürülürse, birincil anahtar sütunları için DataTablebirincil anahtar sütunları olarak kullanılır.

Birincil anahtarların ve benzersiz kısıtlamaların önceki kurallara göre öğesine eklendiğini ConstraintCollection , ancak diğer kısıtlama türlerinin eklenmediğini unutmayın.

SQL Server tablosundaki bir sütun veya sütunda benzersiz bir kümelenmiş dizin tanımlanmışsa ve birincil anahtar kısıtlaması ayrı bir sütun kümesinde tanımlanmışsa, kümelenmiş dizindeki sütunların adları döndürülür. Birincil anahtar sütunlarının adını veya adlarını döndürmek için, birincil anahtar dizininin adını belirten SELECT deyimiyle bir sorgu ipucu kullanın. Sorgu ipuçlarını belirtme hakkında daha fazla bilgi için bkz. İpuçları (Transact-SQL) - Sorgu.

IDataAdapter bir öğesini doldurma DataTablesırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" vb. desenini kullanarak ardışık sütunlar için adlar oluşturur. Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre eklenir DataSet . öğesine birden çok sonuç kümesi eklendiğinde DataSet, her sonuç kümesi ayrı bir tabloya konur. Ek sonuç kümeleri, belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Uygulamalar, bu adlandırma desenleriyle çakışmaların oluşmadığından emin olmak için sütun ve tablo adlarını kullanırken dikkatli olmalıdır.

FillSchema satır döndürmez. bir öğesine Fill satır eklemek için DataTableyöntemini kullanın.

Şunlara uygulanır

Ayrıca bkz.