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 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 AddWithKey
festgelegt 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.