IDataAdapter.Fill(DataSet) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
Parameters
Retouren
Het aantal rijen dat is toegevoegd aan of vernieuwd in de DataSet. Dit omvat geen rijen die worden beïnvloed door instructies die geen rijen retourneren.
Opmerkingen
Fill haalt rijen op uit de gegevensbron met behulp van de SELECT-instructie die is opgegeven door een gekoppelde SelectCommand eigenschap. Het verbindingsobject dat aan de SELECT-instructie is gekoppeld, moet geldig zijn, maar hoeft niet geopend te zijn. Als de verbinding wordt gesloten voordat Fill deze wordt aangeroepen, wordt deze geopend om gegevens op te halen en vervolgens gesloten. Als de verbinding is geopend voordat Fill deze wordt aangeroepen, blijft deze geopend.
Met Fill de bewerking worden de rijen vervolgens toegevoegd aan doelobjecten DataTable in het DataSetobject, waardoor de DataTable objecten worden gemaakt als ze nog niet bestaan. Bij het maken van DataTable objecten worden met de Fill bewerking meestal alleen metagegevens van de kolomnaam gemaakt. Als de MissingSchemaAction eigenschap echter is ingesteld op AddWithKey, worden ook de juiste primaire sleutels en beperkingen gemaakt.
Als de SelectCommand de resultaten van een OUTER JOIN retourneert, stelt de DataAdapter geen PrimaryKey-waarde in voor het resulterende DataTable. U moet expliciet de primaire sleutel definiëren om ervoor te zorgen dat dubbele rijen correct worden opgelost. Zie Primaire sleutels definiëren voor meer informatie.
Als er IDataAdapter dubbele kolommen optreden tijdens het vullen van een DataTablekolom, worden er namen gegenereerd voor de opeenvolgende kolommen, met behulp van het patroon 'columnname1', 'columnname2', 'columnname3', enzovoort. Als de binnenkomende gegevens niet-benoemde kolommen bevatten, worden ze in het DataSet patroon Kolom1, Kolom2 enzovoort geplaatst. Wanneer er meerdere resultatensets aan de DataSetset worden toegevoegd, wordt elke resultatenset in een afzonderlijke tabel geplaatst. Aanvullende resultatensets worden benoemd door integrale waarden toe te voegen aan de opgegeven tabelnaam (bijvoorbeeld 'Tabel', 'Tabel1', 'Tabel2', enzovoort). Toepassingen moeten voorzichtig zijn bij het gebruik van kolom- en tabelnamen om ervoor te zorgen dat conflicten met deze naamgevingspatronen niet optreden.
Wanneer de SELECT-instructie die wordt gebruikt om de DataSet resultaten te vullen meerdere resultaten retourneert, zoals een batch SQL-instructie, als een van de resultaten een fout bevat, worden alle opeenvolgende resultaten overgeslagen en niet toegevoegd aan het DataSet.
U kunt de Fill methode meerdere keren op dezelfde DataTablemethode gebruiken. Als er een primaire sleutel bestaat, worden binnenkomende rijen samengevoegd met overeenkomende rijen die al bestaan. Als er geen primaire sleutel bestaat, worden binnenkomende rijen toegevoegd aan de DataTable.
Note
Bij het verwerken van batch-SQL-instructies die meerdere resultaten retourneren, haalt de implementatie van Fill en FillSchema voor een .NET Framework-gegevensprovider schemagegevens op voor alleen het eerste resultaat.