IDataAdapter.FillSchema(DataSet, SchemaType) Methode

Definition

Fügt eine DataTable namens „Tabelle“ zum angegebenen DataSet hinzu und konfiguriert das Schema auf der Grundlage des angegebenen SchemaType so, dass es mit dem Schema in der Datenquelle übereinstimmt.

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

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 Array von DataTable-Objekten, die aus der Datenquelle zurückgegebene Schemainformationen enthalten.

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 aber nicht geöffnet sein. Wenn die Verbindung vor FillSchema dem Aufruf geschlossen wird, wird sie geöffnet, um Daten abzurufen, und dann geschlossen. Wenn die Verbindung geöffnet ist, bevor FillSchema sie aufgerufen wird, bleibt sie geöffnet.

Ein FillSchema Vorgang fügt dem Ziel einen DataTable hinzu DataSet. Anschließend werden spalten zu den DataColumnCollection DataTable folgenden DataColumn Eigenschaften hinzugefügt und konfiguriert, wenn sie in der Datenquelle vorhanden sind:

FillSchema konfiguriert außerdem die PrimaryKey und Constraints die Eigenschaften entsprechend den folgenden Regeln:

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

  • Wenn keine Primärschlüsselspalten zurückgegeben werden, aber eindeutige Spalten sind, werden die eindeutigen Spalten als Primärschlüssel verwendet, wenn alle eindeutigen Spalten nicht nullfähig sind. Wenn eine der Spalten nullfähig ist, wird eine UniqueConstraint der ConstraintCollectionSpalten hinzugefügt, die Eigenschaft wird jedoch PrimaryKey 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 DataTable.

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

Wenn ein eindeutiger gruppierter Index für eine Spalte oder Spalten in einer SQL Server Tabelle definiert ist und die Primärschlüsseleinschränkung für einen separaten Satz 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üsselindexes angibt. Weitere Informationen zum Angeben von Abfragehinweisen finden Sie unter Hinweis (Transact-SQL) – Abfrage.

Wenn die IDataAdapter doppelten Spalten beim Auffüllen einer DataTableSpalte auftreten, generiert sie Namen für die nachfolgenden Spalten, wobei das Muster "columnname1", "columnname2", "columnname3" usw. verwendet wird. Wenn die eingehenden Daten unbenamente Spalten enthalten, werden sie gemäß dem Muster "Column1", "Column2" usw. in das DataSet Muster gesetzt. Wenn dem Ergebnissatz mehrere Ergebnissätze hinzugefügt DataSetwerden, wird jeder Resultset in eine separate Tabelle eingefügt. Zusätzliche Ergebnissätze werden durch Anfügen von integralen Werten an den angegebenen Tabellennamen (z. B. "Tabelle", "Tabelle1", "Tabelle2" usw.) benannt. Anwendungen sollten beim Verwenden von Spalten- und Tabellennamen Vorsicht verwenden, um sicherzustellen, dass Konflikte mit diesen Benennungsmustern nicht auftreten.

FillSchema gibt keine Zeilen zurück. Verwenden Sie die Fill Methode, um zeilen zu einer DataTable.

Gilt für

Siehe auch