Sdílet prostřednictvím


IDataAdapter.FillSchema(DataSet, SchemaType) Metoda

Definice

Přidá pojmenovanou DataTable "Tabulku" k zadanému DataSet a nakonfiguruje schéma tak, aby odpovídalo schématu ve zdroji dat na základě zadaného SchemaType.

public:
 cli::array <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);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Parametry

dataSet
DataSet

DataSet být vyplněn schématem ze zdroje dat.

schemaType
SchemaType

Jedna z SchemaType hodnot.

Návraty

Pole DataTable objektů, které obsahují informace o schématu vrácené ze zdroje dat.

Poznámky

Metoda FillSchema načte schéma ze zdroje dat pomocí SelectCommand. Objekt připojení přidružený k objektu SelectCommand musí být platný, ale nemusí být otevřený. Pokud je připojení před FillSchema zavolání ukončeno, otevře se, aby načetla data, a pak se zavře. Pokud je připojení otevřené před FillSchema zavolání, zůstane otevřené.

Operace FillSchema přidá DataTable do cíle DataSethodnotu . Potom přidá sloupce do objektu DataColumnCollectionDataTable a nakonfiguruje následující DataColumn vlastnosti, pokud existují ve zdroji dat:

FillSchema také konfiguruje PrimaryKey vlastnosti a Constraints podle následujících pravidel:

  • Pokud vrátí jeden nebo více sloupců primárního SelectCommandklíče , použijí se jako sloupce primárního DataTableklíče pro .

  • Pokud nejsou vráceny žádné sloupce primárního klíče, ale jedinečné sloupce ano, jedinečné sloupce se použijí jako primární klíč, pokud všechny jedinečné sloupce nemají hodnotu null. Pokud je některý ze sloupců s možnou hodnotou null, UniqueConstraint přidá se do objektu ConstraintCollectionPrimaryKey , ale vlastnost není nastavena.

  • Pokud jsou vráceny sloupce primárního klíče i jedinečné sloupce, sloupce primárního klíče se použijí jako sloupce primárního klíče pro DataTable.

Všimněte si, že primární klíče a jedinečná omezení jsou přidány do ConstraintCollection podle předchozích pravidel, ale jiné typy omezení se nepřidávají.

Pokud je pro sloupec nebo sloupce v tabulce SQL Server definovaný jedinečný clusterovaný index a omezení primárního klíče je definováno pro samostatnou sadu sloupců, vrátí se názvy sloupců v clusterovém indexu. Pokud chcete vrátit název nebo názvy sloupců primárního klíče, použijte nápovědu k dotazu s příkazem SELECT, který určuje název indexu primárního klíče. Další informace o tom, jak zadat nápovědu k dotazu, najdete v tématu Nápověda (Transact-SQL) – dotaz.

Pokud při IDataAdapter naplnění DataTablenarazí na duplicitní sloupce, vygeneruje názvy pro následující sloupce pomocí vzoru "název_sloupce1", "název_sloupce2", "název_sloupce3" a tak dále. Pokud příchozí data obsahují nepojmenované sloupce, vloží se do vzorů DataSet "Sloupec1", "Sloupec2" a tak dále. Při přidání více sad výsledků do DataSet, každá sada výsledků se umístí do samostatné tabulky. Další sady výsledků se pojmenují tak, že k zadanému názvu tabulky připojíte integrální hodnoty (například "Tabulka", "Tabulka1", "Tabulka2" atd.). Aplikace by při používání názvů sloupců a tabulek měly být obezřetné, aby nedocházelo ke konfliktům s těmito vzory pojmenování.

FillSchema nevrátí žádné řádky. Fill Pomocí metody můžete přidat řádky do objektu DataTable.

Platí pro

Viz také