IDataAdapter.FillSchema(DataSet, SchemaType) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přidá do zadaného pole pojmenovanou DataTable tabulku a nakonfiguruje schéma tak, aby odpovídalo schématu ve zdroji dat na základě zadaného SchemaType.DataSet
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()
Parametry
- schemaType
- SchemaType
Jedna z SchemaType hodnot.
Návraty
Pole DataTable objektů, které obsahují informace o schématu vrácené ze zdroje dat.
- Atributy
Poznámky
Metoda FillSchema načte schéma ze zdroje dat pomocí .SelectCommand Objekt připojení přidružený k sadě SelectCommand musí být platný, ale nemusí být otevřený. Pokud je připojení před zavolání zavřené FillSchema , otevře se pro načtení dat a zavře se. Pokud je připojení otevřené před FillSchema zavolání, zůstane otevřené.
FillSchema Operace přidá DataTable do cíle DataSet. Potom přidá sloupce do DataColumnCollection a DataTable nakonfiguruje následující DataColumn vlastnosti, pokud existují ve zdroji dat:
AutoIncrement. Musíte nastavit AutoIncrementStep a AutoIncrementSeed samostatně.
FillSchema také nakonfiguruje PrimaryKey vlastnosti a Constraints vlastnosti podle následujících pravidel:
Pokud jeden nebo více sloupců primárního klíče je vráceno SelectCommand, jsou použity jako sloupce primárního klíče pro .DataTable
Pokud se nevrátí žádné sloupce primárního klíče, ale jedinečné sloupce jsou, použijí se jedinečné sloupce jako primární klíč, pokud všechny jedinečné sloupce nemají hodnotu null. Pokud některý ze sloupců má hodnotu null, UniqueConstraint přidá se do objektu ConstraintCollection, ale PrimaryKey vlastnost není nastavena.
Pokud se vrátí 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 sloupec DataTable.
Všimněte si, že primární klíče a jedinečná omezení jsou přidány do ConstraintCollection souladu s předchozími pravidly, ale jiné typy omezení nejsou přidány.
Pokud je jedinečný clusterovaný index definován ve sloupci nebo sloupcích v tabulce SQL Serveru a omezení primárního klíče je definováno v samostatné sadě 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 dotazu s příkazem SELECT, který určuje název indexu primárního klíče. Další informace o tom, jak zadat nápovědy dotazu, naleznete v tématu Rady (Transact-SQL) – Dotaz.
IDataAdapter Pokud dojde k duplicitním sloupcům při naplnění DataTable, vygeneruje názvy po sobě jdoucích sloupců pomocí vzoru "columnname1", "columnname2", "columnname3" atd. Pokud příchozí data obsahují nepojmenované sloupce, vloží se do DataSet vzoru Column1, Column2 atd. Při přidání více sad výsledků do DataSettéto sady výsledků se každá sada výsledků vloží do samostatné tabulky. Další sady výsledků jsou pojmenovány připojením integrálních hodnot k zadanému názvu tabulky (například "Tabulka", "Tabulka1", "Tabulka2" atd.). Aplikace by měly při použití názvů sloupců a tabulek používat upozornění, aby se zajistilo, že nedojde ke konfliktům s těmito vzory pojmenování.
FillSchema vrátí žádné řádky. Fill Pomocí metody přidejte řádky do .DataTable