DataAdapter.FillSchema Methode

Definition

Fügt dem angegebenen DataTable eine DataSet hinzu.

Überlädt

FillSchema(DataSet, SchemaType, String, IDataReader)

Fügt dem angegebenen DataTable eine DataSet hinzu.

FillSchema(DataSet, SchemaType)

Fügt dem angegebenen DataTable eine DataSet hinzu und konfiguriert das Schema auf der Grundlage des angegebenen SchemaTypeso, dass es mit dem Schema in der Datenquelle übereinstimmt.

FillSchema(DataTable, SchemaType, IDataReader)

Fügt dem angegebenen DataTable eine DataSet hinzu.

FillSchema(DataSet, SchemaType, String, IDataReader)

Fügt dem angegebenen DataTable eine DataSet hinzu.

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()

Parameter

dataSet
DataSet

Die DataTable, die aus dem IDataReader gefüllt werden soll.

schemaType
SchemaType

Einer der SchemaType-Werte.

srcTable
String

Der Name der Quelltabelle, die für die Tabellenzuordnung verwendet werden soll.

dataReader
IDataReader

Der IDataReader, der beim Auffüllen der DataTable als Datenquelle verwendet werden soll.

Gibt zurück

DataTable[]

Ein Verweis auf eine Auflistung von DataTable-Objekten, die dem DataSet hinzugefügt wurden.

Siehe auch

Gilt für

FillSchema(DataSet, SchemaType)

Fügt dem angegebenen DataTable eine DataSet hinzu und konfiguriert das Schema auf der Grundlage des angegebenen SchemaTypeso, dass es mit dem Schema in der Datenquelle übereinstimmt.

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()

Parameter

dataSet
DataSet

Die DataSet, die mit dem Schema aus der Datenquelle gefüllt werden soll.

schemaType
SchemaType

Einer der SchemaType-Werte.

Gibt zurück

DataTable[]

Ein DataTable-Objekt, das aus der Datenquelle zurückgegebene Schemainformationen enthält.

Implementiert

Hinweise

Die FillSchema Methode ruft das Schema aus der Datenquelle mithilfe der SelectCommand. Das mit der SelectCommand Verbindung verknüpfte Verbindungsobjekt muss gültig sein, muss jedoch nicht geöffnet werden. Wenn die Verbindung vor FillSchema dem Aufruf geschlossen wird, wird sie geöffnet, um Daten abzurufen und dann geschlossen. Wenn die Verbindung vor dem Aufruf geöffnet ist, bleibt sie geöffnet FillSchema .

Ein Vorgang fügt dem Ziel DataSetein FillSchema DataTable. Anschließend wird den folgenden Eigenschaften Spalten DataColumnCollection DataTablehinzugefügt und die folgenden DataColumn Eigenschaften konfiguriert, wenn sie in der Datenquelle vorhanden sind:

FillSchemakonfiguriert auch die und Constraints die PrimaryKey Eigenschaften gemäß den folgenden Regeln:

  • Wenn eine oder mehrere Primärschlüsselspalten von der SelectCommandzurückgegeben werden, werden sie als Primärschlüsselspalten für die DataTable.

  • Wenn keine Primärschlüsselspalten zurückgegeben werden, aber eindeutige Spalten vorhanden sind, werden die eindeutigen Spalten als Primärschlüssel verwendet, wenn, und nur dann, wenn alle eindeutigen Spalten nicht ullierbar sind. Wenn eine der Spalten nullfähig ist, wird eine UniqueConstraint PrimaryKey der Spalten hinzugefügtConstraintCollection, die Eigenschaft wird jedoch nicht festgelegt.

  • Wenn sowohl Primärschlüsselspalten als auch eindeutige Spalten zurückgegeben werden, werden die Primärschlüsselspalten als Primärschlüsselspalten für die DataTablezurückgegeben.

Hinweis

Der zugrunde liegende Datenspeicher kann Spaltenattribute zulassen, die in einer DataColumnSpalte nicht unterstützt werden, wodurch einige Spaltenattribute nicht korrekt übersetzt werden. Beispielsweise ermöglicht SQL Server eine Identitätsspalte mit einem Datentyp von tinyint, während nur DataColumn Int16, Int32 und Int64 über den AutoIncrement Eigenschaftensatz verfügen können. FillSchema ignoriert automatisch Fälle, in denen die DataColumn Datenquelle nicht genau spiegelt und keine Ausnahme ausgelöst wird.

Beachten Sie, dass Primärschlüssel und eindeutige Einschränkungen den vorherigen Regeln hinzugefügt ConstraintCollection werden, aber andere Einschränkungstypen werden nicht hinzugefügt.

Wenn ein eindeutiger gruppierter Index in einer Spalte oder Spalten in einer SQL Server Tabelle definiert ist und die Primärschlüsseleinschränkung auf einer separaten Gruppe von Spalten definiert wird, werden die Namen der Spalten im gruppierten Index zurückgegeben. Um den Namen oder namen der Primärschlüsselspalten zurückzugeben, verwenden Sie einen Abfragehinweis mit der SELECT-Anweisung, die den Namen des Primärschlüsselindexs angibt. Weitere Informationen zum Angeben von Abfragehinweisen finden Sie unter Hints (Transact-SQL) – Abfrage.

Wenn die DataAdapter doppelten Spalten beim Auffüllen einer DataTableSpalte auftreten, generiert sie Namen für die nachfolgenden Spalten, mit dem Muster "columnname1", "columnname2", "columnname3" usw. Wenn die eingehenden Daten unbenannte Spalten enthalten, werden sie platziert, der DataSet gemäß dem Muster "Column1", "Column2" usw. Wenn mehrere Ergebnissätze dem DataSet einzelnen Ergebnissatz hinzugefügt werden, wird in einer separaten Tabelle platziert. Zusätzliche Ergebnissätze werden durch Anfügen von integralen Werten an den angegebenen Tabellennamen (z. B. "Tabelle", "Tabelle1", "Tabelle2" usw.) benannt. Anwendungen mit Spalten- und Tabellennamen sollten sicherstellen, dass Konflikte mit diesen Benennungsmustern nicht auftreten.

FillSchema Gibt keine Zeilen zurück. Verwenden Sie die Fill Methode, um Zeilen zu einem DataTablehinzuzufügen.

Hinweis

Beim Behandeln von Batch- SQL Anweisungen, die mehrere Ergebnisse zurückgeben, ruft die Implementierung FillSchema für die .NET Framework Datenanbieter für OLE DB Schemainformationen nur für das erste Ergebnis ab. Verwenden Sie Fill zum Abrufen von Schemainformationen für mehrere Ergebnisse den MissingSchemaAction Satz auf AddWithKey.

Siehe auch

Gilt für

FillSchema(DataTable, SchemaType, IDataReader)

Fügt dem angegebenen DataTable eine DataSet hinzu.

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

Parameter

dataTable
DataTable

Die DataTable, die aus dem IDataReader gefüllt werden soll.

schemaType
SchemaType

Einer der SchemaType-Werte.

dataReader
IDataReader

Der IDataReader, der beim Auffüllen der DataTable als Datenquelle verwendet werden soll.

Gibt zurück

DataTable

Ein DataTable-Objekt, das aus der Datenquelle zurückgegebene Schemainformationen enthält.

Siehe auch

Gilt für