Freigeben über


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".

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

Parameter

dataSet
DataSet

Ein DataSet, das mit Datensätzen und bei Bedarf mit einem Schema gefüllt wird.

Gibt zurück

Die Anzahl der Zeilen, die dem DataSet erfolgreich hinzufügt bzw. darin aktualisiert wurden. Dies schließt keine Zeilen ein, die von Anweisungen betroffen sind, die keine Zeilen zurückgeben.

Hinweise

Fill ruft Zeilen aus der Datenquelle mithilfe der SELECT-Anweisung ab, die durch eine zugeordnete SelectCommand Eigenschaft angegeben wird. Das der SELECT-Anweisung zugeordnete Verbindungsobjekt muss gültig sein, muss aber nicht geöffnet sein. Wenn die Verbindung geschlossen wird, bevor Fill sie aufgerufen wird, wird sie geöffnet, um Daten abzurufen, und dann geschlossen. Wenn die Verbindung geöffnet ist, bevor Fill sie aufgerufen wird, bleibt sie geöffnet.

Der Fill Vorgang fügt die Zeilen dann Zielobjekten DataTable in hinzu DataSet, und erstellt die DataTable Objekte, sofern sie noch nicht vorhanden sind. Beim Erstellen von DataTable Objekten erstellt der Vorgang in der Fill Regel nur Spaltennamenmetadaten. Wenn die MissingSchemaAction -Eigenschaft jedoch auf AddWithKeyfestgelegt ist, werden auch die entsprechenden Primärschlüssel und Einschränkungen erstellt.

Wenn vom SelectCommand die Ergebnisse eines OUTER JOIN zurückgegeben werden, wird vom DataAdapter kein PrimaryKey -Wert für die resultierende DataTablefestgelegt. Sie müssen den Primärschlüssel explizit definieren, um sicherzustellen, dass doppelte Zeilen ordnungsgemäß aufgelöst werden. Weitere Informationen finden Sie unter Löschen von Primärschlüsseln.

Wenn doppelte IDataAdapter Spalten beim Auffüllen eines DataTableauftreten, generiert es Namen für die aufeinanderfolgenden Spalten unter Verwendung des Musters "columnname1", "columnname2", "columnname3" usw. Wenn die eingehenden Daten unbenannte Spalten enthalten, werden sie gemäß dem Muster "Column1", "Column2" usw. eingefügt DataSet . Wenn mehrere Resultsets hinzugefügt DataSetwerden, wird jedes Resultset in eine separate Tabelle eingefügt. Zusätzliche Resultsets werden benannt, indem integrale Werte an den angegebenen Tabellennamen angefügt werden (z. B. "Table", "Table1", "Table2" usw.). Anwendungen sollten bei der Verwendung von Spalten- und Tabellennamen Vorsicht walten lassen, um sicherzustellen, dass konflikte mit diesen Benennungsmustern nicht auftreten.

Wenn die SELECT-Anweisung, die zum Auffüllen verwendet DataSet wird, mehrere Ergebnisse zurückgibt, z. B. eine BATCH-SQL-Anweisung, wenn eines der Ergebnisse einen Fehler enthält, werden alle aufeinanderfolgenden Ergebnisse übersprungen und nicht hinzugefügt DataSet.

Sie können die Fill -Methode mehrmals für dieselbe DataTableverwenden. Wenn ein Primärschlüssel vorhanden ist, werden eingehende Zeilen mit übereinstimmenden Zeilen zusammengeführt, die bereits vorhanden sind. Wenn kein Primärschlüssel vorhanden ist, werden eingehende Zeilen an den DataTableangefügt.

Hinweis

Beim Behandeln von Batch-SQL-Anweisungen, die mehrere Ergebnisse zurückgeben, ruft die Implementierung von Fill und FillSchema für eine .NET Framework Datenanbieter Schemainformationen nur für das erste Ergebnis ab.

Gilt für:

Weitere Informationen