Názorný postup: Uložení dat z tabulek dat (hierarchické aktualizace)
Uložení dat v aplikaci zpět do databáze je poměrně jednoduchý, pokud pracujete s jedinou tabulku dat a žádná omezení cizího klíče je nutné považovat za.Ale potřebujete uložit data z objektu dataset, obsahující dvě nebo více souvisejících dat tabulky tak, aby omezení osob nejsou porušována, musíte odeslat změny v databázi v určitém pořadí.Při aktualizaci změněná data v tabulkách, můžete poskytnout programovou logiku extrahovat určité podmnožiny dat z každé tabulky dat a odeslat aktualizace databáze ve správném pořadí nebo můžete použít TableAdapterManager komponent.
Tento názorný postup ukazuje, jak uložit pomocí související data TableAdapterManager komponent.Informace o kódování ručně týkající se aktualizace dat tabulky naleznete, Názorný postup: Ukládání dat do databáze (více tabulek).
Požadavky
K dokončení tohoto postupu potřebujete:
- Přístup k ukázkové databázi Northwind.Další informace naleznete v tématu Jak: Instalace ukázkové databáze.
Vytváření aplikací založených na systému Windows
Prvním krokem v tomto návodu je vytvoření nové aplikace založené na systému Windows.
Vytvoření nové aplikace založené na systému Windows
Z soubor nabídka, vytvoření nového projektu.
[!POZNÁMKA]
Hierarchické aktualizace je podporována v projekty jazyka Visual Basic a C#, takže vytvoření nového projektu v jednom z těchto jazyků.
Název projektu HierarchicalUpdateWalkthrough.
Vyberte Aplikace model Windows Forms a na OK.Další informace naleznete v tématu Tvorba klientských aplikací.
HierarchicalUpdateWalkthrough projektu je vytvořena a přidána do Aplikaci Solution Explorer.
Vytváření objektu Dataset
Protože je třeba prokázat hierarchické aktualizace souvisejících tabulek, dalším krokem je vytvoření objektu dataset, který obsahuje tabulky Zákazníci a objednávky z databáze Northwind.Vytvořit objekt dataset Průvodce konfigurací zdroje dat.Musí mít přístup k vytvoření připojení ukázkové databáze Northwind.Informace o tom, jak nastavit ukázkovou databázi Northwind Jak: Instalace ukázkové databáze.
Vytvořit množinu
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V Zdroje dat okna, klepněte na tlačítko Přidat nový zdroj dat spustit Průvodce konfigurací zdroje dat.
Na Vyberte typ zdroje dat klepněte na možnost databáze a klepněte na tlačítko Další.
Na Zvolte datové připojení stránky, proveďte jednu z následujících akcí:
Datové připojení k ukázkové databázi Northwind je k dispozici v poli rozevíracího seznamu, klepněte na něj.
-nebo-
Klepněte na tlačítko Nové připojení otevřete Přidat nebo změnit připojení dialogové okno.Další informace naleznete v tématu Přidat či upravte dialogové okno připojení (Obecné).
Pokud databáze vyžaduje heslo, vyberte možnost k zahrnutí důvěrných osobních údajů, a pak klikněte na tlačítko Další.
Klepněte na tlačítko Další na Uložit připojovací řetězec do konfiguračního souboru aplikace stránku.
Rozbalte uzel Tabulka na stránce Zvolte vaše databázové objekty.
Zaškrtněte políčka pro Zákazníci a objednávky tabulky a pak klepněte na tlačítko Dokončit.
NorthwindDataSet je vytvořen a přidán do projektu, a v tabulkách Zdroje dat okna.
Změna ovládacích prvků vázán na výchozí Data vytvoření
Po naplnění Zdroje dat okna, můžete použít ovládací prvky, které mají být vytvořeny při přetažení položky do formuláře systému Windows.U tohoto postupu se zobrazí data z tabulky Zákazníci jednotlivých ovládacích prvků (Podrobnosti O).Zobrazí data z tabulky objednávky v DataGridView řízení (DataGridView).
Nastavení řízení položek v okně zdroje dat
Rozbalte Zákazníci v uzlu Zdroje dat okna.
Změnit ovládací prvky pro Zákazníci tabulky na jednotlivé ovládací prvky klepnutím na Podrobnosti v seznamu ovládacího prvku na Zákazníci uzel.Další informace naleznete v tématu Jak: nastavení řízení má být vytvořen při přetažení z okno zdroje dat.
[!POZNÁMKA]
Objednávky tabulky bude používat výchozí ovládací prvek DataGridView.
Vytváření formuláře vázán na Data
Po výběru ovládacích prvků Zdroje dat okna, ovládací prvky vázané na data vytvořit přetažením položky na formuláři.
Vytvořit ovládací prvky vázané dat pro data Zákazníci a objednávky
Přetáhněte hlavní Zákazníci z uzlu Zdroje dat okna do Form1.
Ovládací prvky vázané na data s popisky se zobrazí ve formuláři spolu s TableAdapterManager komponent, panel nástrojů (BindingNavigator) pro procházení záznamů.Zadaný DataSet, TableAdaptera BindingSource, zobrazí se na hlavním panelu komponenty.
Přetáhněte související objednávky z uzlu Zdroje dat okna do Form1.
[!POZNÁMKA]
Související objednávky uzel je umístěn pod Fax uzel tabulky Zákazníci a je podřízený uzel Zákazníci uzel.Objednávky uzel, který se zobrazí jako partnera, který Zákazníci uzel představuje všechny objednávky v tabulce.Objednávky uzel, který se zobrazí jako dceřiný uzel uzlu Zákazníci uzel představuje souvisejících objednávek.
A DataGridView řízení a panel nástrojů (BindingNavigator) pro procházení záznamů se zobrazí ve formuláři.A TableAdapter a BindingSource se zobrazují na hlavním panelu komponenty.
Úprava generované uložit kód hierarchické aktualizaci provést
Uložit změny do databáze voláním z tabulek souvisejících dat v objektu dataset TableAdapterManager.UpdateAll metoda a předávání název objektu dataset, který obsahuje související tabulky.Například TableAdapterManager.UpdateAll(NorthwindDataset) metoda ze všech tabulek v NorthwindDataset odesílat aktualizace databáze back-end.
Po přetažení položky z Zdroje dat okna, kód je automaticky přidán do Form_Load událost pro každou tabulku ( TableAdapter.Fill metody).Kód také přidán do Uložit , klepněte na tlačítko události BindingNavigator zpět do databáze uložit data z objektu dataset ( TableAdapterManager.UpdateAll metoda).
Vytvořené uložit kód obsahuje také řádek kódu, který volá CustomersBindingSource.EndEdit metoda.Konkrétně volá EndEdit metoda první BindingSource přidán do formuláře.Jinými slovy, pouze tento kód generovaný přetaženým z první tabulky Zdroje dat okna, do formuláře.EndEdit Volání směrovači veškeré změny, které jsou v procesu ve všech ovládacích prvcích, které jsou aktuálně upravovat vázán na data.Proto má ovládací prvek vázán na data stále fokus a klepněte Uložit tlačítko všechny čekající změny v tomto řízení se zavázaly před skutečným uložit ( TableAdapterManager.UpdateAll metoda).
[!POZNÁMKA]
Návrhář pouze přidá BindingSource.EndEdit vynechán kód pro první tabulky do formuláře.Proto je nutné přidat řádek kódu pro volání BindingSource.EndEdit metoda pro každou související tabulku ve formuláři.Tento návod, to znamená, je nutné přidat volání OrdersBindingSource.EndEdit metoda.
Aktualizujte kód uložte změny do souvisejících tabulek před uložením
Poklepejte Uložit tlačítko na BindingNavigator otevřete Form1 v editoru kódu.
Přidání řádku kódu pro volání OrdersBindingSource.EndEdit po řádku, který volá metodu CustomersBindingSource.EndEdit metoda.Kód v Uložit klepnutím na tlačítko události by měl vypadat následující:
Me.Validate() Me.CustomersBindingSource.EndEdit() Me.OrdersBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet)
this.Validate(); this.customersBindingSource.EndEdit(); this.ordersBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.northwindDataSet);
Ke spáchání změny v souvisejících podřízené tabulky před uložením dat do databáze, může také mít potvrzení nově vytvořené záznamy nadřazené před přidáním nové podřízené záznamy do objektu dataset.Jinými slovy pravděpodobně přidat nový nadřazený záznam (zákazníka) pro objekt dataset před omezení cizího klíče povolit nové podřízené záznamy (objednávky) doplňuje nový objekt dataset.Chcete-li toho dosáhnout, použijete podřízené BindingSource.AddingNew událostí.
[!POZNÁMKA]
Může nebo nemusí být potvrzení nové nadřazené záznamy; To závisí na typu ovládacího prvku, který se používá k vytvoření vazby mezi zdroji dat.V tomto návodu použijte jednotlivé ovládací prvky svázat nadřazené tabulky; To vyžaduje další kód potvrdit Nový nadřazený záznam.Pokud byly zobrazeny záznamy nadřazené složité vazby ovládacího prvku, například DataGridViewtomto dodatečná EndEdit volání pro nadřazený záznam není nutné.Důvodem je základní funkce datové vazby ovládacího prvku zpracovává spáchání nové záznamy.
Přidat kód nadřazené záznamů v objektu dataset potvrzení před přidáním nové podřízené záznamy
Vytvoření obslužné rutiny události pro OrdersBindingSource.AddingNew událostí.
- Otevřít Form1 v návrhovém zobrazení, klepněte na tlačítko OrdersBindingSource na hlavním panelu komponenty vyberte události v Vlastnosti okna a pak poklepejte obsloužíte událostí.
Přidat řádek kódu, který volá obslužné rutiny události CustomersBindingSource.EndEdit metoda.Kód v OrdersBindingSource_AddingNew obslužné rutiny události by měl vypadat následující:
Me.CustomersBindingSource.EndEdit()
this.customersBindingSource.EndEdit();
Ověření, že hierarchické aktualizace jsou povoleny
Hierarchické aktualizace jsou zapínat a vypínat nastavením Hierarchické aktualizace vlastnost objektu dataset.Hierarchické aktualizace jsou standardně, tak pro tohoto postupu není nutné změnit hodnotu Hierarchické aktualizace vlastnost.
Zda jsou aktualizace hierarchické povolen
Otevřete objekt dataset v Dataset Návrhář poklepáním NorthwindDataSet.xsd v souboru Aplikaci Solution Explorer.
Vyberte prázdnou oblast plochy návrhu.
Vyhledejte Hierarchické aktualizace vlastnost v Vlastnosti – okno a ověřte, zda je nastavena na True.
[!POZNÁMKA]
Hierarchické aktualizace co určuje, zda se generování kódu je nastavení vlastnosti TableAdapterManager a logiku provádět aktualizace hierarchické, nebo ne.Nastavení HierarchicalUpdate na True generuje TableAdapterManager; nastavení HierarchicalUpdate na False negeneruje TableAdapterManager.
Testování aplikace
Testování aplikace
Stisknutím klávesy F5.
Některé změny dat jednoho nebo více záznamů v každé tabulce.
Přidání nového zákazníka a potom přidejte nové objednávky pro tohoto zákazníka.
Klepněte Uložit tlačítko.TableAdapterManager Zpracovává logiky požadovaných pro všechny související aktualizace.
Zkontrolujte hodnoty v databázi, ověřte, že změny byly uloženy v každé tabulce.
Další kroky
V závislosti na požadavcích aplikace existuje několik kroků, které chcete provést po uložení související data v aplikaci systému Windows.Některá vylepšení provedené může tato aplikace patří:
Přidání třetí tabulky, například v tabulce Rozpis objednávek a experimentování s tři tabulky hierarchie.
Přidáním ověřovací kód pro ověření dat splňuje požadavky aplikace k omezení databáze.Další informace naleznete v tématu Ověření dat.
Viz také
Úkoly
Jak: Konfigurace omezení cizího klíče v objektu Dataset
Jak: nastavení pořadí při provádění hierarchické aktualizace
Jak: potvrzení v procesu úprav na ovládací prvky vázané na Data před uložením dat
Jak: implementovat aktualizaci hierarchické existující projekty Visual Studio
Názorný postup: Uložení dat z tabulek dat (hierarchické aktualizace)