Sdílet prostřednictvím


DataAdapter.FillSchema Metoda

Definice

Přidá do zadaného DataSetparametru DataTable .

Přetížení

FillSchema(DataSet, SchemaType, String, IDataReader)

Přidá do zadaného DataSetparametru DataTable .

FillSchema(DataSet, SchemaType)

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

FillSchema(DataTable, SchemaType, IDataReader)

Přidá do zadaného DataSetparametru DataTable .

FillSchema(DataSet, SchemaType, String, IDataReader)

Zdroj:
DataAdapter.cs
Zdroj:
DataAdapter.cs
Zdroj:
DataAdapter.cs

Přidá do zadaného DataSetparametru DataTable .

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

Parametry

dataSet
DataSet

HodnotaDataTable, která se má vyplnit z .IDataReader

schemaType
SchemaType

Jedna z SchemaType hodnot.

srcTable
String

Název zdrojové tabulky, která se má použít pro mapování tabulek.

dataReader
IDataReader

Hodnota IDataReader , která se má použít jako zdroj dat při vyplňování DataTable.

Návraty

Odkaz na kolekci DataTable objektů, které byly přidány do objektu DataSet.

Viz také

Platí pro

FillSchema(DataSet, SchemaType)

Zdroj:
DataAdapter.cs
Zdroj:
DataAdapter.cs
Zdroj:
DataAdapter.cs

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

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

Objekt DataTable , který obsahuje informace o schématu vrácené ze zdroje dat.

Implementuje

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 DataColumnCollectionDataTablea 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 a pouze pokud jsou všechny jedinečné sloupce nenulovatelné. 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.

Poznámka

Základní úložiště dat může povolit atributy sloupců, které nejsou podporovány v objektu DataColumn, což způsobí, že se některé atributy sloupců nepřeloží správně. Například SQL Server povolí sloupec identity s datovým typem tinyint, zatímco DataColumn vlastnost umožňuje nastavit pouze int16, Int32 a Int64AutoIncrement. FillSchema tiše ignoruje případy, kdy DataColumn zdroj dat nemůže přesně zrcadlit a nevyvolá výjimku.

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 zadávání nápovědy k dotazům najdete v tématu Nápověda (Transact-SQL) – dotaz.

Pokud při DataAdapter naplnění DataTablesloupce narazí na duplicitní sloupce, vygeneruje názvy pro následující sloupce pomocí vzoru "název_sloupce1", "název_sloupce2", "název_sloupce3" atd. Pokud příchozí data obsahují nepojmenované sloupce, umístí se do vzorů DataSet "Sloupec1", "Sloupec2" a tak dále. Když se do DataSet každé sady výsledků přidá více sad výsledků, umístí se 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 používající názvy sloupců a tabulek by měly zajistit, aby nedocházelo ke konfliktům s těmito vzory pojmenování.

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

Poznámka

Při zpracování dávkových příkazů SQL, které vracejí více výsledků, implementace FillSchema zprostředkovatele dat rozhraní .NET Framework pro OLE DB načte informace o schématu pouze pro první výsledek. Pokud chcete načíst informace o schématu pro více výsledků, použijte Fill s MissingSchemaAction nastavením na AddWithKey.

Viz také

Platí pro

FillSchema(DataTable, SchemaType, IDataReader)

Zdroj:
DataAdapter.cs
Zdroj:
DataAdapter.cs
Zdroj:
DataAdapter.cs

Přidá do zadaného DataSetparametru DataTable .

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable? FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

Parametry

dataTable
DataTable

HodnotaDataTable, která se má vyplnit z .IDataReader

schemaType
SchemaType

Jedna z SchemaType hodnot.

dataReader
IDataReader

Hodnota IDataReader , která se má použít jako zdroj dat při vyplňování DataTable.

Návraty

Objekt DataTable , který obsahuje informace o schématu vrácené ze zdroje dat.

Viz také

Platí pro