DataAdapter.FillSchema Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
FillSchema(DataSet, SchemaType, String, IDataReader) | |
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) |
FillSchema(DataSet, SchemaType, String, IDataReader)
- Quelle:
- DataAdapter.cs
- Quelle:
- DataAdapter.cs
- Quelle:
- DataAdapter.cs
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
Ein Verweis auf eine Auflistung von DataTable-Objekten, die dem DataSet hinzugefügt wurden.
Weitere Informationen
Gilt für:
FillSchema(DataSet, SchemaType)
- Quelle:
- DataAdapter.cs
- Quelle:
- DataAdapter.cs
- Quelle:
- DataAdapter.cs
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
- schemaType
- SchemaType
Einer der SchemaType-Werte.
Gibt zurück
Ein DataTable-Objekt, das aus der Datenquelle zurückgegebene Schemainformationen enthält.
Implementiert
Hinweise
Die FillSchema -Methode ruft das Schema mithilfe von aus der SelectCommandDatenquelle ab. Das dem zugeordnete SelectCommand Verbindungsobjekt muss gültig sein, muss aber nicht geöffnet sein. Wenn die Verbindung geschlossen wird, bevor FillSchema sie aufgerufen wird, wird sie zum Abrufen von Daten geöffnet 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 DataSeteinen hinzuDataTable. Anschließend werden spalten DataColumnCollection hinzugefügt DataTableund die folgenden DataColumn Eigenschaften konfiguriert, sofern sie an der Datenquelle vorhanden sind:
AutoIncrement. Sie müssen und AutoIncrementSeed separat festlegenAutoIncrementStep.
FillSchema konfiguriert außerdem die PrimaryKey Eigenschaften und Constraints gemäß den folgenden Regeln:
Wenn eine oder mehrere Primärschlüsselspalten von SelectCommandzurückgegeben werden, werden sie als Primärschlüsselspalten für verwendet DataTable.
Wenn keine Primärschlüsselspalten zurückgegeben werden, sondern eindeutige Spalten, werden die eindeutigen Spalten als Primärschlüssel verwendet, wenn und nur dann, wenn alle eindeutigen Spalten nicht annullierbar sind. Wenn eine der Spalten nullable ist, wird ein UniqueConstraint hinzugefügt ConstraintCollection, aber die PrimaryKey -Eigenschaft ist 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 verwendet DataTable.
Hinweis
Der zugrunde liegende Datenspeicher lässt möglicherweise Spaltenattribute zu, die in einem DataColumnnicht unterstützt werden, was dazu führt, dass einige Spaltenattribute nicht ordnungsgemäß übersetzt werden. Beispielsweise lässt SQL Server eine Identitätsspalte mit dem Datentyp tinyint zu, während nur DataColumn Int16, Int32 und Int64 die AutoIncrement -Eigenschaft festgelegt ist. FillSchema
ignoriert Fälle, in denen die DataColumn datenquelle nicht genau Spiegel kann, und löst keine Ausnahme aus.
Beachten Sie, dass Primärschlüssel und eindeutige Einschränkungen gemäß den ConstraintCollection vorherigen Regeln hinzugefügt werden, aber keine anderen Einschränkungstypen hinzugefügt werden.
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 ist, werden die Namen der Spalten im gruppierten Index zurückgegeben. Um den Namen oder die 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 Hinweise (Transact-SQL) – Abfrage.
Wenn doppelte DataAdapter Spalten beim Auffüllen eines DataTableauftreten, generiert es Namen für die nachfolgenden Spalten unter Verwendung des Musters "Spaltenname1", "Spaltenname2", "Spaltenname3" usw. Wenn die eingehenden Daten unbenannte Spalten enthalten, werden sie platziert, der DataSet gemäß dem Muster "Column1", "Column2" usw. Wenn mehrere Resultsets hinzugefügt werden, wird jedes DataSet Resultset in einer separaten Tabelle platziert. Zusätzliche Resultsets werden benannt, indem integrale Werte an den angegebenen Tabellennamen angefügt werden (z. B. "Table", "Table1", "Table2" usw.). Anwendungen, die Spalten- und Tabellennamen verwenden, sollten sicherstellen, dass keine Konflikte mit diesen Benennungsmustern auftreten.
FillSchema gibt keine Zeilen zurück. Verwenden Sie die Fill -Methode, um Zeilen zu hinzuzufügen DataTable.
Hinweis
Beim Behandeln von SQL-Batchanweisungen, die mehrere Ergebnisse zurückgeben, ruft die Implementierung von FillSchema für den .NET Framework Datenanbieter für OLE DB Schemainformationen nur für das erste Ergebnis ab. Um Schemainformationen für mehrere Ergebnisse abzurufen, verwenden Sie Fill mit festgelegt MissingSchemaAction auf AddWithKey
.
Weitere Informationen
Gilt für:
FillSchema(DataTable, SchemaType, IDataReader)
- Quelle:
- DataAdapter.cs
- Quelle:
- DataAdapter.cs
- Quelle:
- DataAdapter.cs
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
Ein DataTable-Objekt, das aus der Datenquelle zurückgegebene Schemainformationen enthält.