Sdílet prostřednictvím


Uložení dat z objektu do databáze v aplikacích .NET Framework

Poznámka:

Datové sady a související třídy jsou staršími technologiemi rozhraní .NET Framework z počátku 2000, které aplikacím umožňují pracovat s daty v paměti, zatímco aplikace jsou odpojené od databáze. 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ž se datové sady ukázaly jako velmi úspěšná technologie, doporučujeme, aby nové aplikace .NET používaly 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í.

Data v objektech můžete uložit do databáze předáním hodnot z objektu do jedné z metod DBDirect objektu TableAdapter (například TableAdapter.Insert). Další informace naleznete v tématu TableAdapter.

Pokud chcete uložit data z kolekce objektů, projděte kolekci objektů (například smyčku for-next) a odešlete hodnoty pro každý objekt do databáze pomocí jedné z metod TableAdapter DBDirect .

Ve výchozím nastavení DBDirect se metody vytvářejí v objektu TableAdapter, který lze spustit přímo s databází. Tyto metody lze volat přímo a nevyžadují DataSet ani DataTable objekty k odsouhlasení změn, aby bylo možné odesílat aktualizace do databáze.

Poznámka:

Při konfiguraci objektu TableAdapter musí hlavní dotaz poskytnout dostatek informací pro DBDirect vytvoření metod. Pokud je například objekt TableAdapter nakonfigurovaný tak, aby dotazoval data z tabulky, která nemá definovaný sloupec primárního klíče, nevygeneruje DBDirect metody.

Metoda TableAdapter DBDirect Popis
TableAdapter.Insert Přidá do databáze nové záznamy a umožňuje předávat hodnoty jednotlivých sloupců jako parametry metody.
TableAdapter.Update Aktualizace existující záznamy v databázi. Metoda Update přebírá původní a nové hodnoty sloupců jako parametry metody. Původní hodnoty slouží k vyhledání původního záznamu a nové hodnoty slouží k aktualizaci tohoto záznamu.

Tato TableAdapter.Update metoda se také používá k odsouhlasení změn v datové sadě zpět do databáze tak, DataRowže vezme jako DataSetparametry metody pole DataTable, nebo pole DataRows.
TableAdapter.Delete Odstraní existující záznamy z databáze na základě hodnot původního sloupce předaného jako parametry metody.

Uložení nových záznamů z objektu do databáze

  • Vytvořte záznamy předáním hodnot metodě TableAdapter.Insert .

    Následující příklad vytvoří nový záznam zákazníka Customers v tabulce předáním hodnot v currentCustomer objektu metodě TableAdapter.Insert .

    private void AddNewCustomers(Customer currentCustomer)
    {
        customersTableAdapter.Insert( 
            currentCustomer.CustomerID, 
            currentCustomer.CompanyName, 
            currentCustomer.ContactName, 
            currentCustomer.ContactTitle, 
            currentCustomer.Address, 
            currentCustomer.City, 
            currentCustomer.Region, 
            currentCustomer.PostalCode, 
            currentCustomer.Country, 
            currentCustomer.Phone, 
            currentCustomer.Fax);
    }
    

Aktualizace existujících záznamů z objektu do databáze

  • Upravte záznamy voláním TableAdapter.Update metody, předáním nových hodnot aktualizovat záznam a předáním původních hodnot vyhledejte záznam.

    Poznámka:

    Objekt musí udržovat původní hodnoty, aby je předal metodě Update . Tento příklad používá vlastnosti s předponou orig k uložení původních hodnot.

    Následující příklad aktualizuje existující záznam v Customers tabulce předáním nových a původních hodnot v Customer objektu metodě TableAdapter.Update .

    private void UpdateCustomer(Customer cust)
    {
        customersTableAdapter.Update(
            cust.CustomerID,
            cust.CompanyName,
            cust.ContactName,
            cust.ContactTitle,
            cust.Address,
            cust.City,
            cust.Region,
            cust.PostalCode,
            cust.Country,
            cust.Phone,
            cust.Fax,
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Odstranění existujících záznamů z databáze

  • Odstraňte záznamy voláním TableAdapter.Delete metody a předáním původních hodnot vyhledejte záznam.

    Poznámka:

    Objekt musí udržovat původní hodnoty, aby je předal metodě Delete . Tento příklad používá vlastnosti s předponou orig k uložení původních hodnot.

    Následující příklad odstraní záznam z Customers tabulky předáním původních hodnot v objektu Customer metodě TableAdapter.Delete .

    private void DeleteCustomer(Customer cust)
    {
        customersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Zabezpečení .NET

Musíte mít oprávnění k provedení vybraného INSERTobjektu , UPDATEnebo DELETE tabulky v databázi.