IDataAdapter.Fill(DataSet) Methode

Definition

Fügt dem DataSet unter Verwendung des DataSet-Namens Zeilen hinzu bzw. aktualisiert diese, um eine Übereinstimmung mit den Zeilen in der Datenquelle zu erzielen, und erstellt eine DataTable mit der Bezeichnung "Table".Adds or updates rows in the DataSet to match those in the data source using the DataSet name, and creates a DataTable named "Table".

public:
 int Fill(System::Data::DataSet ^ dataSet);
public int Fill (System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int

Parameter

dataSet
DataSet

Ein DataSet, das mit Datensätzen und bei Bedarf mit einem Schema gefüllt wird.A DataSet to fill with records and, if necessary, schema.

Gibt zurück

Die Anzahl der Zeilen, die dem DataSet erfolgreich hinzufügt bzw. darin aktualisiert wurden.The number of rows successfully added to or refreshed in the DataSet. Dies schließt keine Zeilen ein, die von Anweisungen betroffen sind, die keine Zeilen zurückgeben.This does not include rows affected by statements that do not return rows.

Hinweise

FillRuft Zeilen aus der Datenquelle mithilfe der SELECT-Anweisung ab, die von SelectCommand einer zugeordneten Eigenschaft angegeben wird.Fill retrieves rows from the data source using the SELECT statement specified by an associated SelectCommand property. Das Verbindungs Objekt, das der SELECT-Anweisung zugeordnet ist, muss gültig sein, aber es muss nicht geöffnet sein.The connection object associated with the SELECT statement must be valid, but it does not need to be open. Wenn die Verbindung geschlossen wird, Fill bevor aufgerufen wird, wird Sie geöffnet, um Daten abzurufen und dann geschlossen zu werden.If the connection is closed before Fill is called, it is opened to retrieve data, then closed. Wenn die Verbindung geöffnet ist, Fill bevor aufgerufen wird, bleibt Sie geöffnet.If the connection is open before Fill is called, it remains open.

Der Fill -Vorgang fügt dann die Zeilen zu DataTable den Ziel Objekten DataSetin hinzu und DataTable erstellt die Objekte, wenn Sie nicht bereits vorhanden sind.The Fill operation then adds the rows to destination DataTable objects in the DataSet, creating the DataTable objects if they do not already exist. Beim Erstellen DataTable von Objekten erstellt Fill der Vorgang in der Regel nur Spaltennamen Metadaten.When creating DataTable objects, the Fill operation usually creates only column name metadata. Wenn die-Eigenschaft MissingSchemaAction jedoch auf AddWithKeyfestgelegt ist, werden auch die entsprechenden Primärschlüssel und Einschränkungen erstellt.However, if the MissingSchemaAction property is set to AddWithKey, appropriate primary keys and constraints are also created.

Wenn vom SelectCommand die Ergebnisse eines OUTER JOIN zurückgegeben werden, wird vom DataAdapter kein PrimaryKey -Wert für die resultierende DataTablefestgelegt.If the SelectCommand returns the results of an OUTER JOIN, the DataAdapter does not set a PrimaryKey value for the resulting DataTable. Sie müssen den Primärschlüssel explizit definieren, um sicherzustellen, dass doppelte Zeilen ordnungsgemäß aufgelöst werden.You must explicitly define the primary key to ensure that duplicate rows are resolved correctly. Weitere Informationen finden Sie unter Definieren von primär Schlüsseln.For more information, see Defining Primary Keys.

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.

Wenn die SELECT-Anweisung, die DataSet zum Auffüllen von verwendet wird, mehrere Ergebnisse zurückgibt, wie z. b. eine Batch-SQL-Anweisung, werden alle nachfolgenden Ergebnisse übersprungen und der DataSetnicht hinzugefügt.When the SELECT statement that is used to populate the DataSet returns multiple results, such as a batch SQL statement, if one of the results contains an error, all successive results are skipped and not added to the DataSet.

Die Fill -Methode kann mehrmals auf demselben DataTableverwendet werden.You can use the Fill method multiple times on the same DataTable. Wenn ein Primärschlüssel vorhanden ist, werden eingehende Zeilen mit übereinstimmenden Zeilen zusammengeführt, die bereits vorhanden sind.If a primary key exists, incoming rows are merged with matching rows that already exist. Wenn kein Primärschlüssel vorhanden ist, werden eingehende Zeilen an DataTabledas angefügt.If no primary key exists, incoming rows are appended to the DataTable.

Hinweis

Bei der Verarbeitung von Batch-SQL-Anweisungen, die mehrere Ergebnisse Fill zurück FillSchema geben, ruft die Implementierung von und für einen .NET Framework-Datenanbieter Schema Informationen nur für das erste Ergebnis ab.When handling batch SQL statements that return multiple results, the implementation of Fill and FillSchema for a .NET Framework data provider retrieves schema information for only the first result.

Gilt für:

Siehe auch