Sdílet prostřednictvím


IDataAdapter.Fill(DataSet) Metoda

Definice

Přidá nebo aktualizuje řádky odpovídající DataSet řádkům ve zdroji dat pomocí DataSet názvu a vytvoří pojmenovanou DataTable tabulku.

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

Parametry

dataSet
DataSet

A k DataSet vyplnění záznamů a v případě potřeby schématu.

Návraty

Počet řádků, které byly úspěšně přidány nebo aktualizovány v souboru DataSet. Nezahrnuje řádky ovlivněné příkazy, které nevrací řádky.

Poznámky

Fill načte řádky ze zdroje dat pomocí příkazu SELECT určeného přidruženou SelectCommand vlastností. Objekt připojení přidružený k příkazu SELECT musí být platný, ale nemusí být otevřen. Pokud je připojení před zavolání zavřené Fill , otevře se pro načtení dat a zavře se. Pokud je připojení otevřené před Fill zavolání, zůstane otevřené.

Operace Fill pak přidá řádky do cílových DataTable objektů v DataSetobjektu , vytváření DataTable objektů, pokud ještě neexistují. Při vytváření DataTable objektů Fill operace obvykle vytváří pouze metadata názvu sloupce. Pokud je však MissingSchemaAction vlastnost nastavena na AddWithKey, jsou vytvořeny také příslušné primární klíče a omezení.

Pokud SelectCommand vrátí výsledky vnějšího spojení, DataAdapter nenastaví hodnotu PrimaryKey pro výsledný DataTable. Musíte explicitně definovat primární klíč, aby se zajistilo, že se správně přeloží duplicitní řádky. Další informace naleznete v tématu Definování primárních klíčů.

IDataAdapter Pokud dojde k duplicitním sloupcům při naplnění DataTable, vygeneruje názvy po sobě jdoucích sloupců pomocí vzoru "columnname1", "columnname2", "columnname3" atd. Pokud příchozí data obsahují nepojmenované sloupce, vloží se do DataSet vzoru Column1, Column2 atd. Při přidání více sad výsledků do DataSettéto sady výsledků se každá sada výsledků vloží do samostatné tabulky. Další sady výsledků jsou pojmenovány připojením integrálních hodnot k zadanému názvu tabulky (například "Tabulka", "Tabulka1", "Tabulka2" atd.). Aplikace by měly při použití názvů sloupců a tabulek používat upozornění, aby se zajistilo, že nedojde ke konfliktům s těmito vzory pojmenování.

Pokud příkaz SELECT, který se používá k naplnění DataSet vrátí více výsledků, například dávkové příkaz SQL, pokud některý z výsledků obsahuje chybu, všechny následné výsledky se přeskočí a nepřidají do DataSet.

Metodu Fill můžete použít vícekrát na stejném DataTable. Pokud existuje primární klíč, příchozí řádky se sloučí s odpovídajícími řádky, které už existují. Pokud neexistuje žádný primární klíč, připojí se k němu DataTablepříchozí řádky .

Poznámka:

Při zpracování dávkových příkazů SQL, které vracejí více výsledků, načte implementace Fill a FillSchema pro zprostředkovatele dat rozhraní .NET Framework informace o schématu pouze pro první výsledek.

Platí pro

Viz také