Sdílet prostřednictvím


Přehled TableAdapter

TableAdapters umožňují komunikaci mezi aplikací a databází.Konkrétně TableAdapter připojuje k databázi, provádí dotazy nebo uložené procedury a buď vrátí nové tabulky dat naplněn vrácených dat nebo doplní stávající DataTable s vrácená data.TableAdapters také lze odeslat aktualizovaná data z aplikace zpět do databáze.

Uživatelé předchozích verzí Visual Studio můžete představit TableAdapter jako DataAdapter s integrované připojení objektu a schopnost obsahují více dotazů.Každý dotaz do TableAdapter je vystaven jako veřejná metoda, která se nazývá jednoduše jako jiné metody nebo funkce objektu.

Vedle standardní funkce DataAdapter, TableAdapters, poskytovat další typové metody, umožňujících dotazy, které sdílejí společné schéma s přidruženou zadali DataTable.Jinými slovy může mít libovolný počet dotazů na TableAdapter chcete vrátit data vyhovující na stejné schéma jako.

V předchozí verzi Visual Studio, ADO.NET adaptéry byly použity pro komunikaci mezi aplikací a databází.Adaptéry jsou stále hlavní součást .NET Framework Data Providers, TableAdapters jsou generovány Návrhář komponenty, které zlepšení funkce DataAdapters.Obvykle obsahují TableAdapters Fill a Update metody pro načítání a aktualizaci dat v databázi.

TableAdapters jsou vytvořeny s Dataset Návrhář z uvnitř silnými objektů DataSet.Můžete vytvořit při vytváření nového objektu dataset s TableAdapters Průvodce konfigurací zdroje dat.TableAdapters můžete také vytvořit v existujících objektech DataSet s Průvodce konfigurací TableAdapter nebo přetažením databázových objektů z Server Explorer do Dataset Návrhář.Další informace naleznete v tématu Jak: vytvoření TableAdapters.

Zatímco TableAdapters jsou navrženy s Dataset Návrhář, TableAdapter třídy vygenerované nejsou generovány jako vnořené třídy DataSet.Jsou umístěny v samostatných oboru názvů specifické pro každý objekt dataset.Například pokud máte dataset s názvem NorthwindDataSet, přidružené TableAdapters DataTables NorthwindDataSet by NorthwindDataSetTableAdapters oboru názvů.Přístup k určité TableAdapter programově, musíte deklarovat novou instanci TableAdapter.Příklad:

Dim northwindDataSet As New NorthwindDataSet()
Dim customersTableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()

customersTableAdapter.Fill(northwindDataSet.Customers)
NorthwindDataSet northwindDataSet = new NorthwindDataSet();

NorthwindDataSetTableAdapters.CustomersTableAdapter customersTableAdapter = 
    new NorthwindDataSetTableAdapters.CustomersTableAdapter();

customersTableAdapter.Fill(northwindDataSet.Customers);

Přidružený objekt DataTable schématu

Při vytváření TableAdapter, počátečním dotazu nebo uložené procedury se používá k definici schématu TableAdapter společnosti spojené DataTable.Provedení tohoto počátečního dotazu nebo uložené procedury voláním hlavní TableAdapter Fill metody (vyplní TableAdapter společnosti spojené DataTable).Změny provedené v hlavním dotazu TableAdapter se projeví ve schématu přidružené datové tabulky.Například odebrání sloupce z hlavního dotazu odebere sloupec z tabulky přidružená data.Pokud jakékoli další dotazy na TableAdapter pomocí příkazů SQL vracení sloupců, které nejsou v hlavním dotazu, Návrhář pokusí synchronizovat změny sloupců mezi hlavním dotazu a jakékoli další dotazy.Další informace naleznete v tématu Jak: úpravy TableAdapters.

Příkazy aktualizace TableAdapter

Funkce aktualizace TableAdapter je závislá na množství informací je k dispozici na základě hlavní dotazu v Průvodci TableAdapter.Například TableAdapters, které jsou nakonfigurovány k načtení hodnot z více tabulek (spojení), skalární hodnoty, zobrazení nebo výsledky agregační funkce nejsou vytvořeny původně možnost odesílat aktualizace databáze.Však můžete nakonfigurovat ručně v INSERT, UPDATE a DELETE příkazy Vlastnosti okna.

TableAdapter dotazy

Objekt TableAdapter s více dotazů

Na rozdíl od standardní datové adaptéry TableAdapters může obsahovat více dotazů k naplnění jejich přidružené datové tabulky.Tolik dotazy TableAdapter aplikace vyžaduje, lze definovat jako každý dotaz vrací data vyhovující stejné schéma jako jeho přidružená data tabulky.To umožňuje načítání dat, která splňuje kritéria rozdílné.Například pokud vaše aplikace obsahuje tabulky Zákazníci, můžete vytvořit dotaz, který vyplní tabulku všech zákazníků, jejichž název začíná určitým písmenem a jiný dotaz, který vyplní tabulku všech zákazníků, které jsou umístěny ve stejném stavu.Vyplnit Customers tabulku se zákazníky v daném státě, můžete vytvořit FillByState dotazu, který přebírá parametr pro hodnotu stavu: SELECT * FROM Customers WHERE State = @State.Spuštění dotazu voláním FillByState metoda a předávání v hodnotě parametru tímto způsobem: CustomerTableAdapter.FillByState("WA").Další informace naleznete v tématu Jak: vytvoření TableAdapter dotazy.

Kromě dotazů, které vrací data stejné schéma jako tabulku dat TableAdapter, můžete přidat dotazy, které vracejí skalární hodnoty (jeden).Například vytvořením dotazu vrátí počet zákazníků (SELECT Count(*) From Customers) je platný pro CustomersTableAdapter , přestože data vrácena neodpovídá schématu v tabulce.

Vlastnost ClearBeforeFill

Základní přidá vlastnost není k dispozici TableAdapter DataAdapter třídy.Ve výchozí při každém spuštění dotazu k vyplnění tabulky dat TableAdapter, data není zaškrtnuto, jsou načteny pouze výsledky dotazu do tabulky.Nastavit TableAdapter ClearBeforeFill vlastnost false Pokud chcete přidat nebo sloučit data vrácená z dotazu na existující data v tabulce dat.Bez ohledu na to, zda vymazat data je nutné explicitně odeslat aktualizace zpět do databáze, podle potřeby.Proto nezapomeňte uložit změny dat v tabulce před spuštěním jiného dotazu, který vyplní v tabulce.Další informace naleznete v tématu Jak: aktualizace dat pomocí TableAdapter.

Dědičnost TableAdapter

TableAdapters rozšířit funkce adaptérů standardní data zapouzdřit nakonfigurovaného DataAdapter.Ve výchozím nastavení dědí TableAdapter Component a nelze přetypovat na DataAdapter třídy.TableAdapter k obsazení DataAdapter vede InvalidCastException.Chcete-li změnit základní třídy TableAdapter, můžete zadat třídy, který je odvozen od Component v Základní třídy vlastnost TableAdapter v Dataset Návrhář.

TableAdapter metody a vlastnosti

Třída TableAdapter není součástí .NET Framework, a jako takové je nelze vyhledat v dokumentaci nebo Prohlížeč objektů.Je vytvořen v době návrhu při použití jednoho z výše uvedených průvodců.Název přiřazený TableAdapter při jeho vytvoření je založena na název tabulky, ve které pracujete.Například při vytváření TableAdapter na základě tabulky v databázi s názvem Orders, bude název TableAdapter OrdersTableAdapter.Název třídy TableAdapter lze změnit pomocí název vlastnost v Dataset Návrhář.

Jsou běžně používané metody a vlastnosti TableAdapters:

Člen

Description

TableAdapter.Fill

Vyplní TableAdapter přidružené datové tabulky s výsledky příkazu SELECT TableAdapter.Další informace naleznete v tématu Jak: výplň objektu Dataset s daty.

TableAdapter.Update

Odešle změny zpět do databáze a vrátí celé číslo představující počet řádků, které jsou aktualizací ovlivněny.Další informace naleznete v tématu Jak: aktualizace dat pomocí TableAdapter.

TableAdapter.GetData

Vrátí nový DataTable naplněna daty.

TableAdapter.Insert

V tabulce dat, vytvoří nový řádek.Další informace naleznete v tématu Jak: přidání řádků do DataTable.

TableAdapter.ClearBeforeFill

Určuje, zda před volání z vyprázdnění dat tabulky Fill metod.

Metoda TableAdapter Update

TableAdapters příkazy data pro čtení a zápis z databáze.TableAdapter jeho počáteční Fill (hlavní) dotaz slouží jako základ pro vytvoření schématu tabulky přidružená data jakož i InsertCommand, UpdateCommand, a DeleteCommand přidružené příkazy TableAdapter.Update metoda.To znamená, že volání TableAdapter Update metoda vykonává příkazy vytvořena, když byl původně nakonfigurován TableAdapter a z dalších dotazů s přidány Průvodce konfigurací dotazu TableAdapter.

Při použití TableAdapter účinně provádí stejné operace s příkazy, které obvykle by provést.Například při volání adaptéru Fill metoda, adaptér spustí příkaz data v jeho SelectCommand vlastnost a pomocí programu pro čtení dat (například SqlDataReader) načíst výsledek nastavit do tabulky data.Podobně při volání adaptéru Update metoda, ji spustí příslušný příkaz (v UpdateCommand, InsertCommand, a DeleteCommand vlastnosti) pro každý záznam v tabulce dat ke změně.

[!POZNÁMKA]

Pokud je dostatek informací v hlavním dotazu InsertCommand, UpdateCommand, a DeleteCommand příkazy jsou vytvořeny jako výchozí při generování TableAdapter.Jestliže je TableAdapter hlavní dotazu je více než jedné tabulky příkaz SELECT, je možné, Návrhář, nebude možné generovat InsertCommand, UpdateCommand, a DeleteCommand.Tyto příkazy nejsou generovány, může zobrazit chyba při spuštění TableAdapter.Update metoda.

TableAdapter GenerateDbDirectMethods

Kromě InsertCommand, UpdateCommand, a DeleteCommand, TableAdapters, které jsou vytvořeny pomocí metod, které mohou být provedeny přímo proti databázi.Tyto metody (TableAdapter.Insert, TableAdapter.Update, a TableAdapter.Delete) lze volat přímo k manipulaci s daty v databázi.To znamená, že můžete volat z kódu namísto vyvolání TableAdapter.Update zpracování vloží, aktualizace a odstranění, které čekají tyto jednotlivé metody přidružené datové tabulky.

Pokud nechcete vytvořit tyto přímé metody, nastavte TableAdapter GenerateDbDirectMethods vlastnost false (v Vlastnosti okna).Další dotazy přidané do TableAdapter jsou samostatné dotazy – negenerují těchto metod.

TableAdapter podpora typů s možnou hodnotou Null

Podpora TableAdapters typy s možnou hodnotou Null Nullable(Of T) a T?.Další informace o typech s možnou hodnotou Null v jazyce Visual Basic naleznete v S možnou hodnotou Null typy hodnot (Visual Basic).Další informace o typech s možnou hodnotou Null v jazyce C#, viz Použití typů s možnou hodnotou Null (C# programování Guide).

Viz také

Úkoly

Jak: připojení k datům v databázi

Názorný postup: Připojení k datům v databázi (model Windows Forms)

Koncepty

Novinky ve vývoji datových aplikací v sadě Visual Studio 2012

Příprava aplikace pro příjem dat.

Načítání dat do aplikace

Ovládací prvky vazby na Data v aplikaci Visual Studio

Data v aplikaci pro úpravy

Ověření dat

Ukládání dat

Další zdroje

Data návody