Sdílet prostřednictvím


Aktualizace dat pomocí tableAdapter v aplikacích .NET Framework

Poznámka:

Třídy DataSet a související třídy jsou starší technologie rozhraní .NET Framework z počátku 2000, které umožňují aplikacím pracovat s daty v paměti, zatímco aplikace jsou odpojeny od databáze. Tyto technologie jsou zvláště užitečné pro aplikace, které uživatelům umožňují upravovat data a uchovávat změny zpět do databáze. I když jsou datové sady ověřenou úspěšnou technologií, doporučeným přístupem pro nové aplikace .NET je použití Entity Framework Core. Entity Framework poskytuje přirozenější způsob práce s tabulkovými daty jako objektovými modely a má jednodušší programovací rozhraní.

Po úpravě a ověření dat v datové sadě můžete aktualizovaná data odeslat zpět do databáze voláním Update metody TableAdapter. Metoda Update aktualizuje jednu tabulku dat a spustí správný příkaz (INSERT, UPDATEnebo DELETE) na RowState základě každého řádku dat v tabulce. Pokud datová sada obsahuje související tabulky, Visual Studio vygeneruje třídu TableAdapterManager, kterou používáte k aktualizaci. Třída TableAdapterManager zajišťuje, že aktualizace jsou provedeny ve správném pořadí na základě těch omezení cizího klíče, která jsou definována v databázi. Při použití ovládacích prvků vázaných na data vytvoří architektura vazby dat členovou proměnnou třídy TableAdapterManager s názvem tableAdapterManager.

Poznámka:

Když se pokusíte aktualizovat zdroj dat obsahem datové sady, můžou se zobrazit chyby. Abyste se vyhnuli chybám, doporučujeme vložit kód, který volá metodu adaptéru Updatetry/catch do bloku.

Přesný postup aktualizace zdroje dat se může lišit v závislosti na obchodních potřebách, ale zahrnuje následující kroky:

  1. Zavolejte metodu adaptéru Update v bloku try/catch.

  2. Pokud je zachycena výjimka, vyhledejte řádek dat, který způsobil chybu.

  3. Sloučit problém v datovém řádku (programově, pokud můžete, nebo zobrazením neplatného řádku uživateli pro úpravy) a potom aktualizaci opakujte (HasErrors, GetErrors).

Uložení dat do databáze

Zavolejte metodu Update TableAdapteru. Předejte název tabulky dat, která obsahuje hodnoty, které se mají zapsat do databáze.

Aktualizace databáze pomocí metody TableAdapter

  • Uzavřete metodu TableAdapter Update do try/catch bloku. Následující příklad ukazuje, jak aktualizovat obsah Customers tabulky NorthwindDataSet z try/catch bloku.

    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }