Sdílet prostřednictvím


IDataAdapter.Fill(DataSet) Metoda

Definice

Přidá nebo aktualizuje řádky v objektu DataSet tak, aby odpovídaly řá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 DataSet pro vyplnění záznamů a v případě potřeby schématu.

Návraty

Počet řádků, které byly úspěšně přidány do nebo aktualizovány v objektu DataSet. To nezahrnuje řádky ovlivněné příkazy, které nevracejí řá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 se připojení před Fill zavolání ukončí, otevře se za účelem načtení dat a pak se ukončí. Pokud je připojení před Fill zavolání otevřené, zůstane otevřené.

Operace Fill pak přidá řádky do cílových DataTable objektů v objektu DataSeta vytvoří DataTable objekty, pokud ještě neexistují. Při vytváření DataTable objektů Fill operace obvykle vytvoří pouze metadata názvu sloupce. Pokud je ale vlastnost nastavená MissingSchemaAction na AddWithKey, vytvoří se také odpovídající primární klíče a omezení.

Pokud objekt SelectCommand vrátí výsledky VNĚJŠÍHO SPOJENÍ, DataAdapter nenastaví PrimaryKey hodnotu pro výsledný DataTableobjekt . Abyste zajistili správné překladu duplicitních řádků, musíte explicitně definovat primární klíč. Další informace najdete v tématu Definování primárních klíčů.

Pokud při IDataAdapter vyplňování DataTablenarazí na duplicitní sloupce, vygeneruje názvy pro následující sloupce pomocí vzoru "název_sloupce1", "název_sloupce2", "název_sloupce3" atd. Pokud příchozí data obsahují nepojmenované sloupce, zadají DataSet se do sloupce "Column1", "Column2" atd. Když se do DataSetpřidá více sad výsledků dotazu, každá sada výsledků dotazu se umístí do samostatné tabulky. Další sady výsledků se nazývají 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žívání názvů sloupců a tabulek postupovat opatrně, aby nedocházelo 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 jeden z výsledků obsahuje chybu, všechny po sobě jdoucí výsledky se přeskočí a nepřidají se 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 příchozí řádky k objektu DataTable.

Poznámka

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

Platí pro

Viz také