IDataAdapter.Fill(DataSet) 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.
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
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 AddWithKey
festgelegt 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.