Share via


Návod: Ukládání dat z tabulek souvisejících dat (hierarchická aktualizace)

Uložení dat v aplikaci zpět do databáze je poměrně jednoduchý, pokud pracujete s jedinou tabulku dat a bez omezení cizího klíče je nutné považovat za.Ale když budete potřebovat pro uložení dat z datové sady, který obsahuje dvě nebo více tabulek data v relaci, je nutné odeslat změny do databáze v určitém pořadí tak, aby nebyla porušena omezení.Při aktualizaci upravené dat v tabulky v relaci, je možné poskytnout programovou logiku extrahovat konkrétní dílčí sady dat každou tabulku dat a odeslat aktualizace do databáze ve správném pořadí nebo můžete použít TableAdapterManager součástí.

Tento průvodce ukazuje, jak uložit data v relaci s použitím TableAdapterManager součástí.Informace o kódování související aktualizace dat tabulky ručně naleznete v tématu, Návod: Ukládání dat do databáze (více tabulek).

Požadavky

K dokončení tohoto průvodce, budete potřebovat:

Vytvoření aplikace pro systém Windows

Prvním krokem v tomto návodu je vytvoření nové aplikace založené na systému Windows.

Chcete-li vytvořit novou aplikaci založenou na systému Windows

  1. Z soubor nabídky, vytvořte nový projekt.

    [!POZNÁMKA]

    Hierarchické aktualizace je podporována v jazyce Visual Basic i C# projekty, takže vytvoříte nový projekt v jedné z těchto jazyků.

  2. Název projektu HierarchicalUpdateWalkthrough.

  3. Vyberte možnost Formulářová aplikace Windows a klikněte na tlačítko OK.Další informace naleznete v tématu Vývoj klientských aplikací s použitím rozhraní .NET Framework.

    HierarchicalUpdateWalkthrough je vytvořen a přidán do projektu Průzkumníka řešení.

Vytvoření datové sady

Vzhledem k tomu, že budete potřebovat tabulky v relaci k předvedení hierarchické aktualizace, je vytvořit datovou sadu, která obsahuje tabulky Zákazníci a objednávky z databáze Northwind na další krok.Vytvořit datová sada pomocí Průvodce konfigurací zdroje dat.Musíte mít přístup k ukázkové databázi Northwind pro vytvoření připojení.Informace o tom, jak nastavit ukázkové databáze Northwind naleznete v tématu Postupy: Instalace ukázkových databází.

Vytvoření datové sady

  1. V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.

  2. V zdroje dat okna, klikněte na tlačítko Přidat nový zdroj dat spustit Průvodce konfigurací zdroje dat.

  3. Na Zvolte typ zdroje dat klikněte na tlačítko databáze a potom klikněte na tlačítko Další.

  4. Na Vybrat datové připojení stránky, proveďte jednu z následujících akcí:

    • Datové připojení k databázi Northwind ukázky je k dispozici v rozevíracím seznamu, klikněte na něj.

      -nebo-

    • Klikněte na tlačítko nové připojení otevřete Přidat či upravit připojení dialogového okna.

  5. Pokud databáze vyžaduje heslo, vyberte možnost obsahují citlivá data a potom klikněte na tlačítko Další.

  6. Klikněte na tlačítko Další na Uložit připojovací řetězec do konfiguračního souboru aplikace stránky.

  7. Rozbalit tabulky uzlu na Zvolte vaše databázové objekty stránky.

  8. Klikněte na tlačítko zaškrtnutí políček u Zákazníci a objednávky tabulky a potom klikněte na tlačítko Dokončit.

    NorthwindDataSet je vytvořen a přidán do projektu, a tabulky se zobrazí v zdroje dat okna.

Změna výchozích ovládacích prvků vázaných na Data k vytvoření

Po načtení zdroje dat okna, můžete použít ovládací prvky, které mají být vytvořeny při přetahování položek na formulář pro systém Windows.V tomto návodu se zobrazí data z tabulky Zákazníci v jednotlivých ovládacích prvků (Podrobnosti).Data z tabulky objednávky se zobrazí v DataGridView ovládací prvek (DataGridView).

Chcete-li nastavit ovládací prvky pro položky v okně zdroje dat

  1. Rozbalit Zákazníci uzel v zdroje dat okna.

  2. Změnit ovládací prvky, které má být vytvořen pro Zákazníci tabulky na jednotlivé ovládací prvky, můžete klepnout na tlačítka Podrobnosti v seznamu ovládacího prvku na Zákazníci uzlu.Další informace naleznete v tématu Postupy: Nastavení ovládacího prvku, který má být vytvořen při přetažení z okna zdrojů dat.

    [!POZNÁMKA]

    Objednávky tabulky bude používat jako výchozí ovládací prvek DataGridView.

Vytváření vázaného na Data formuláře

Po výběru ovládacích prvků v zdroje dat okna, vytvořit ovládací prvky vázaného na data přetažením jednotlivých položek do formuláře.

Chcete-li vytvořit ovládací prvky vázání dat pro data zákazníci a objednávky

  1. Přetáhněte hlavní Zákazníci uzlu z zdroje dat okna do Form1.

    Vázaného na data s popisky jsou zobrazeny ovládací prvky ve formuláři, spolu s TableAdapterManager součásti, na panelu nástrojů (BindingNavigator) pro procházení záznamů.Zadaný datová sada, TableAdapter, a BindingSource, se zobrazí na hlavním panelu součásti.

  2. Přetáhněte související objednávky uzlu z 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 uzlu.Objednávky uzlu, který se zobrazí jako partnera, který Zákazníci uzel představuje všechny objednávky v tabulce.Objednávky uzlu, který se zobrazí jako podřízený uzel Zákazníci uzel představuje související objednávky.

    Objekt DataGridView ovládací prvek a panel nástrojů (BindingNavigator) pro procházení záznamů se zobrazí ve formuláři.Objekt TableAdapter a BindingSource se zobrazí na hlavním panelu součásti.

Úprava generovaného uložit kód provádějící hierarchické aktualizace

Uložte změny z tabulky dat v relaci v sadě dat do databáze voláním TableAdapterManager.UpdateAll Metoda a předávání názvu sady dat, která obsahuje tabulky v relaci.Můžete například spustit TableAdapterManager.UpdateAll(NorthwindDataset) metodu pro odeslání aktualizace ze všech tabulek v NorthwindDataset do databáze back-end.

Po uvolnění položky z zdroje dat okně kód je automaticky přidán do Form_Load události k naplnění každá tabulka ( TableAdapter.Fill metody).Kód je také přidán do Uložit události z kliknutí na tlačítko BindingNavigator k uložení dat z datové sadě zpět do databáze ( TableAdapterManager.UpdateAll Metoda).

Generované uložit kód také obsahuje řádek kódu, který volá CustomersBindingSource.EndEdit metody.Konkrétně volá EndEdit Metoda prvního BindingSource přidán do formuláře.Jinými slovy, tento kód se vygeneruje pouze pro první tabulky přetažení z zdroje dat window do formuláře.EndEdit Volání potvrzením veškeré změny, které jsou v procesu ve všech ovládacích prvcích vázaných na data, které jsou aktuálně upravovány.Proto, má-li ovládací prvek vázaného na data stále fokus a klikněte Uložit tlačítko všechny čekající úpravy v tom, že ovládací prvek jsou zpracovány před skutečný uložení ( TableAdapterManager.UpdateAll Metoda).

[!POZNÁMKA]

Návrhář přidá pouze 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 tabulku v relaci ve formuláři.V tomto návodu, to znamená, je nutné přidat volání OrdersBindingSource.EndEdit metody.

Chcete-li aktualizovat kód uložte změny do tabulky v relaci před uložením.

  1. Klikněte dvakrát Uložit na tlačítko BindingNavigator Otevřete Form1 v editoru kódu.

  2. Přidat řádek kódu pro volání OrdersBindingSource.EndEdit po řádku, který volá metodu CustomersBindingSource.EndEdit metody.Kód v Uložit klepnutím na tlačítko události by se měla podobat 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);
    

Kromě potvrzení změn v relaci podřízenou tabulku před uložením dat do databáze, může také mít potvrzení nově vytvořené nadřazené záznamy před přidáním nové podřízené záznamy do sady.Jinými slovy bude pravděpodobně nutné přidat nový záznam nadřazeného (zákazníka) k datové sadě, než omezení cizího klíče povolit nové podřízené záznamy (objednávky), který se má přidat k datové sadě.K provedení této operace můžete použít podřízené BindingSource.AddingNew události.

[!POZNÁMKA]

Může nebo nemusí mít se zapsat nové záznamy nadřazeného; To závisí na typ ovládacího prvku, který slouží k vytvoření vazby ke zdroji dat.V tomto návodu použijete jednotlivé ovládací prvky pro vytvoření vazby s nadřazenou tabulkou; To vyžaduje další kód k potvrzení nového nadřazeného záznamu.Je-li nadřazené záznamy byly zobrazeny v ovládacím prvku komplexní vazby, jako DataGridView, tento další EndEdit volání pro nadřazený záznam nebylo by nutné.Důvodem je základní funkce vazby dat ovládacího prvku zpracovává potvrzení nových záznamů.

Chcete-li přidat kód k potvrzení nadřazené záznamy v sadě dat před přidáním nové podřízené záznamy

  1. Vytvoření obslužné rutiny události pro OrdersBindingSource.AddingNew události.

    • Otevřít Form1 v zobrazení Návrh, klepněte na tlačítko OrdersBindingSource na hlavním panelu součástí vyberte události v Vlastnosti okna a potom poklepejte AddingNew události.
  2. Přidat do obslužné rutiny události řádek kódu, který volá CustomersBindingSource.EndEdit metody.Kód v OrdersBindingSource_AddingNew obslužnou rutinu události by se měla podobat následující:

    Me.CustomersBindingSource.EndEdit()
    
    this.customersBindingSource.EndEdit();
    

Ověřování, aby hierarchické aktualizace jsou povoleny.

Hierarchické aktualizace jsou zapnuty a vypnutí nastavením hierarchické aktualizace vlastnost datová sada.Ve výchozím nastavení jsou povoleny hierarchické aktualizace, tak v tomto návodu nemáte změnit hodnotu hierarchické aktualizace vlastnost.

Chcete-li ověřit, zda jsou povoleny hierarchické aktualizace

  1. Otevřete v sadě dat Designer datová sada dvakrát kliknete NorthwindDataSet.xsd souborů v Průzkumníka řešení.

  2. Vyberte na prázdnou oblast na návrhové ploše.

  3. Vyhledejte hierarchické aktualizace vlastnost Okno Vlastnosti a ověřte, zda je nastavena na True.

    [!POZNÁMKA]

    Hierarchické aktualizace je nastavení vlastnosti co určuje, zda kód je vytvořen s TableAdapterManager a logiku k provedení hierarchické aktualizace, či nikoli.Nastavení HierarchicalUpdate k True generuje TableAdapterManagernastavení HierarchicalUpdate k False negeneruje TableAdapterManager.

Testování aplikace

Testování aplikace

  1. Stiskněte klávesu F5.

  2. Některé změny dat jeden nebo více záznamů v obou tabulkách.

  3. Přidat nový zákazník a pak přidejte novou objednávku pro zákazníka.

  4. Klikněte na tlačítko Uložit tlačítko.TableAdapterManager Zpracovává logiku potřebnou pro všechny související aktualizace.

  5. Zkontrolujte hodnoty v databázi a ověřte, že změny byly uloženy ve všech tabulkách.

Další kroky

V závislosti na požadavcích aplikace existuje několik kroků, které chcete provádět po uložení dat v relaci v aplikaci Windows-based.Některé vylepšení, kterých se můžete dokonce vytvářet do této aplikace, patří:

  • Přidání třetí tabulky, například v tabulce Rozpis objednávek a experimentování se tři tabulky hierarchie.

  • Ověřte, zda data přidání kódu ověření splňuje požadavky aplikace kromě omezení databáze.Další informace naleznete v tématu Ověřování dat.

Viz také

Úkoly

Postupy: Konfigurace omezení cizího klíče v datové sadě

Postupy: Nastavení pořadí při provádění hierarchické aktualizace

Postupy: Potvrzení úprav v procesu v ovládacích prvcích vázaných na data před uložením dat

Postupy: Implementace hierarchické aktualizace ve stávajících projektech Visual Studio

Návod: Ukládání dat z tabulek souvisejících dat (hierarchická aktualizace)

Koncepty

Ukládání dat

Další zdroje

Hierarchická aktualizace

DataSets, DataTables, and DataViews