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

Int32

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 mit der SELECT-Anweisung verknüpfte Verbindungsobjekt muss gültig sein, muss aber nicht geöffnet sein. Wenn die Verbindung vor Fill dem Aufruf geschlossen 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 dann die Zeilen zu Zielobjekten DataTable in der DataSet, das Erstellen der DataTable Objekte, wenn sie noch nicht vorhanden sind, hinzu. Beim Erstellen von DataTable Objekten erstellt der Fill Vorgang normalerweise nur Spaltennamenmetadaten. Wenn die MissingSchemaAction Eigenschaft jedoch auf AddWithKeyfestgelegt ist, werden auch geeignete 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 Definieren von Primärschlüsseln.

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.

Wenn die SELECT-Anweisung, die verwendet wird, um mehrere DataSet Ergebnisse aufzufüllen, z. B. eine Batch-SQL -Anweisung, wenn eine der Ergebnisse einen Fehler enthält, werden alle aufeinander folgenden Ergebnisse übersprungen und nicht zur DataSet.

Sie können die Fill Methode mehrmals auf demselben 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 die DataTableangefügt.

Hinweis

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

Gilt für

Siehe auch