Sdílet prostřednictvím


DataAdapter.FillSchema Metoda

Definice

DataTable Přidá do zadaného DataSetparametru .

Přetížení

Name Description
FillSchema(DataSet, SchemaType, String, IDataReader)

DataTable Přidá do zadaného DataSetparametru .

FillSchema(DataSet, SchemaType)

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

FillSchema(DataTable, SchemaType, IDataReader)

DataTable Přidá do zadaného DataSetparametru .

FillSchema(DataSet, SchemaType, String, IDataReader)

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

DataTable Přidá do zadaného DataSetparametru .

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
protected virtual System.Data.DataTable[] FillSchema(System.Data.DataSet dataSet, System.Data.SchemaType schemaType, 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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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[]
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

DataTable být vyplněna 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

Použije IDataReader se jako zdroj dat při vyplňování DataTable.

Návraty

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

Atributy

Viz také

Platí pro

FillSchema(DataSet, SchemaType)

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

DataTable Přidá do zadaného 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("IDataReader's (built from adapter commands) schema table types cannot be statically analyzed.")]
public virtual 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);
[<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[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
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

Schéma DataSet se vyplní ze zdroje dat.

schemaType
SchemaType

Jedna z SchemaType hodnot.

Návraty

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

Implementuje

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ření. 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 objektu DataTablea nakonfiguruje následující DataColumn vlastnosti, pokud existují ve zdroji dat:

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 a pouze v případě, že všechny jedinečné sloupce nejsou nenulovatelné. 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.

Poznámka:

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

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

Pokud dojde k duplicitním sloupcům při naplnění DataTable, vygeneruje názvy pro následující sloupce pomocí vzoru "columnname1", "columnname2", "columnname3" atd.DataAdapter Pokud příchozí data obsahují nepojmenované sloupce, umístí se do DataSet vzoru Column1, Column2 atd. Když do DataSet každé sady výsledků přidáte více sad výsledků, umístí se 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 používající názvy sloupců a tabulek by měly zajistit, aby nedošlo ke konfliktu s těmito vzory pojmenování.

FillSchema nevrací žádné řádky. Fill Pomocí metody přidejte řádky do .DataTable

Poznámka:

Při zpracování dávkových příkazů SQL, které vrací 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. Chcete-li načíst informace o schématu pro více výsledků, použijte Fill s nastavenou na MissingSchemaActionAddWithKeyhodnotu .

Viz také

Platí pro

FillSchema(DataTable, SchemaType, IDataReader)

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

DataTable Přidá do zadaného DataSetparametru .

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")]
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);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("dataReader's schema table types cannot be statically analyzed.")>]
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
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

DataTable být vyplněna z IDataReader.

schemaType
SchemaType

Jedna z SchemaType hodnot.

dataReader
IDataReader

Použije IDataReader se jako zdroj dat při vyplňování DataTable.

Návraty

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

Atributy

Viz také

Platí pro