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. 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ž 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 |
Aktualizuje 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 vcurrentCustomer
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ředponouorig
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 vCustomer
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ředponouorig
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 objektuCustomer
metoděTableAdapter.Delete
.
Zabezpečení .NET
Musíte mít oprávnění k provedení vybraného INSERT
objektu , UPDATE
nebo DELETE
tabulky v databázi.