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.Adds a DataTable named "Table" to the specified DataSet and configures the schema to match that in the data source based on the specified SchemaType.

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[]

Parameter

dataSet
DataSet

Die mit dem Schema aus der Datenquelle zu füllende DataSet.The DataSet to be filled with the schema from the data source.

schemaType
SchemaType

Einer der SchemaType-Werte.One of the SchemaType values.

Gibt zurück

Ein Array von DataTable-Objekten, die aus der Datenquelle zurückgegebene Schemainformationen enthalten.An array of DataTable objects that contain schema information returned from the data source.

Hinweise

Die FillSchema -Methode ruft das Schema SelectCommandmithilfe von aus der Datenquelle ab.The FillSchema method retrieves the schema from the data source using the SelectCommand. Das Verbindungs Objekt, das SelectCommand zugeordnet ist, muss gültig sein, aber es muss nicht geöffnet sein.The connection object associated with the SelectCommand must be valid, but it does not need to be open. Wenn die Verbindung geschlossen wird, FillSchema bevor aufgerufen wird, wird Sie geöffnet, um Daten abzurufen und dann geschlossen zu werden.If the connection is closed before FillSchema is called, it is opened to retrieve data, then closed. Wenn die Verbindung geöffnet ist, FillSchema bevor aufgerufen wird, bleibt Sie geöffnet.If the connection is open before FillSchema is called, it remains open.

Ein FillSchema -Vorgang fügt DataTable dem Ziel DataSeteinen hinzu.A FillSchema operation adds a DataTable to the destination DataSet. Anschließend werden der DataColumnCollection DataTable von Spalten hinzugefügt, und die folgenden DataColumn Eigenschaften werden konfiguriert, wenn Sie in der Datenquelle vorhanden sind:It then adds columns to the DataColumnCollection of the DataTable and configures the following DataColumn properties if they exist at the data source:

FillSchemakonfiguriert auch die PrimaryKey Eigenschaften und Constraints gemäß den folgenden Regeln:FillSchema also configures the PrimaryKey and Constraints properties according to the following rules:

  • Wenn eine oder mehrere Primärschlüssel Spalten von SelectCommandzurückgegeben werden, werden diese als Primärschlüssel Spalten für das DataTableverwendet.If one or more primary key columns are returned by the SelectCommand, they are used as the primary key columns for the DataTable.

  • Wenn keine Primärschlüssel Spalten zurückgegeben werden, aber eindeutige Spalten sind, werden die eindeutigen Spalten als Primärschlüssel verwendet, wenn für alle eindeutigen Spalten keine NULL-Werte zulässig sind.If no primary key columns are returned but unique columns are, the unique columns are used as the primary key if all the unique columns are non-nullable. Wenn eine der Spalten NULL-Werte zulässt, wird UniqueConstraint ein hinzugefügt ConstraintCollection, aber die PrimaryKey -Eigenschaft ist nicht festgelegt.If any of the columns are nullable, a UniqueConstraint is added to the ConstraintCollection, but the PrimaryKey property is not set.

  • Wenn sowohl Primärschlüssel Spalten als auch eindeutige Spalten zurückgegeben werden, werden die Primärschlüssel Spalten als Primärschlüssel Spalten für das DataTableverwendet.If both primary key columns and unique columns are returned, the primary key columns are used as the primary key columns for the DataTable.

Beachten Sie, dass Primärschlüssel und UNIQUE-Einschränkungen ConstraintCollection gemäß den vorherigen Regeln zu hinzugefügt werden, andere Einschränkungs Typen jedoch nicht hinzugefügt werden.Note that primary keys and unique constraints are added to the ConstraintCollection according to the previous rules, but other constraint types are not added.

Wenn ein eindeutiger gruppierter Index für eine Spalte oder Spalten in einer SQL Server Tabelle definiert ist und die PRIMARY KEY-Einschränkung für einen separaten Satz von Spalten definiert ist, werden die Namen der Spalten im gruppierten Index zurückgegeben.If a unique clustered index is defined on a column or columns in a SQL Server table and the primary key constraint is defined on a separate set of columns, then the names of the columns in the clustered index will be returned. Um die Namen oder Namen der Primärschlüssel Spalten zurückzugeben, verwenden Sie einen Abfrage Hinweis mit der SELECT-Anweisung, die den Namen des Primärschlüssel Indexes angibt.To return the name or names of the primary key columns, use a query hint with the SELECT statement that specifies the name of the primary key index. Weitere Informationen zum Angeben von Abfrage hinweisen finden Sie unter Query Hint (Transact-SQL).For more information about how to specify query hints, see Query Hint (Transact-SQL).

Wenn beim Auffüllen von doppelte Spalten DataTablegefunden werden, werden die Namen für die aufeinander folgenden Spalten mit dem Muster "columnname1", "columnname2", "columnname3" usw. generiert. IDataAdapterIf the IDataAdapter encounters duplicate columns while populating a DataTable, it generates names for the successive columns, using the pattern "columnname1", "columnname2", "columnname3", and so on. Wenn die eingehenden Daten unbenannte Spalten enthalten, werden Sie DataSet gemäß dem Muster "Column1", "Column2" usw. in eingefügt.If the incoming data contains unnamed columns, they are put in the DataSet according to the pattern "Column1", "Column2", and so on. Wenn der DataSetmehrere Resultsets hinzugefügt werden, wird jedes Resultset in einer separaten Tabelle abgelegt.When multiple result sets are added to the DataSet, each result set is put in a separate table. Zusätzliche Resultsets werden benannt, indem ganzzahlige Werte an den angegebenen Tabellennamen angehängt werden (z. b. "Table", "table1", "table2" usw.).Additional result sets are named by appending integral values to the specified table name (for example, "Table", "Table1", "Table2", and so on). Anwendungen sollten bei der Verwendung von Spalten-und Tabellennamen Vorsicht walten lassen, um sicherzustellen, dass keine Konflikte mit diesen Benennungs Mustern auftreten.Applications should use caution when using column and table names to ensure that conflicts with these naming patterns do not occur.

FillSchemagibt keine Zeilen zurück.FillSchema returns no rows. Verwenden Sie Fill die-Methode, um Zeilen DataTablezu hinzuzufügen.Use the Fill method to add rows to a DataTable.

Gilt für:

Siehe auch