Sdílet prostřednictvím


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

Ukládání 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 pokud potřebujete uložit data z množiny dataset, který obsahuje dvě nebo více tabulek související data, je nutné odeslat změny k databázi v určitém pořadí tak, aby nebyla porušena omezení. Při aktualizaci změněná data v tabulkách, je možné poskytnout programovou logiku extrahovat konkrétní podmnožiny dat z každé tabulky dat a aktualizace odeslat do databáze ve správném pořadí nebo můžete použít TableAdapterManager komponenty.

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

Požadavky

Chcete-li dokončit tento návod, potřebujete:

Vytváření aplikací založených na systému Windows

Chcete-li vytvořit novou aplikaci systému Windows je prvním krokem v tomto návodu.

Chcete-li vytvořit novou aplikaci systému Windows

  1. Pomocí nabídky Soubor vytvořte nový projekt.

    Poznámka

    Hierarchické aktualizace je podporována v projektech jazyka Visual Basic a C#, vytvořte nový projekt v jednom 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ík řešení.

Vytvoření datové sady

Vzhledem k tomu, že je třeba prokázat hierarchické aktualizace souvisejících tabulek, dalším krokem je vytvořit objekt dataset, který obsahuje tabulky Zákazníci a objednávky z databáze Northwind. Vytvoření datové sady 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 způsobu nastavení ukázkové databáze Northwind, viz Postupy: Instalace ukázkových databází.

Vytvoření datové sady

  1. V nabídce Data klikněte na položku Zobrazit zdroje dat.

  2. V zdroje dat okno, klepněte na tlačítko přidat nový zdroj dat spustit Průvodce konfigurací zdroje dat.

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

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

    • Připojení dat k ukázkové databázi Northwind je k dispozici v rozevíracím seznamu, klepněte na něj.

      -nebo-

    • Klepněte na tlačítko nové připojení otevřete přidat či upravit připojení dialogové okno.

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

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

  7. Rozbalte tabulky uzel zvolte vaše databázové objekty stránky.

  8. Kliknutím zaškrtněte políčka u zákazníci a objednávky tabulky a potom klepněte na tlačítko Dokončit.

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

Změna výchozích ovládacích prvků vázaných na Data mají být vytvořeny.

Po naplnění zdroje dat okna, můžete použít ovládací prvky, které mají být vytvořeny při přetahování položky do formuláře systému Windows. V tomto návodu, budou zobrazena data z tabulky Zákazníci v jednotlivých ovládacích prvcích (podrobnosti). V budou zobrazena data z tabulky objednávky DataGridView řízení (DataGridView).

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

  1. Rozbalte zákazníci uzlu zdroje dat okno.

  2. Změnit ovládací prvky, které mají být vytvořeny pro zákazníci tabulky na jednotlivé ovládací prvky klepnutím na 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 tabulku použije výchozí ovládací prvek DataGridView.

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

Po volbě ovládacích prvků zdroje dat okna, vytvářet ovládací prvky vázané na data, přetažením položky na formuláři.

Chcete-li vytvořit ovládací prvky vázané na data zákazníků a objednávek

  1. 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 komponenty, na panelu nástrojů (BindingNavigator) pro procházení záznamů. A typed DataSet, TableAdapter, and a BindingSource, appear in the component tray.

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

    A DataGridView řízení a na panelu nástrojů (BindingNavigator) pro procházení záznamů se zobrazí ve formuláři. A TableAdapter a BindingSource se zobrazí v panelu komponenty.

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

Uložit změny do databáze voláním z tabulek souvisejících dat v sadě dat TableAdapterManager.UpdateAll metoda a předat název dataset, který obsahuje související tabulky. Například spustit TableAdapterManager.UpdateAll(NorthwindDataset) metoda ze všech tabulek v NorthwindDataset odesílat aktualizace databáze back-end.

Po přetažení položek z zdroje dat okno, kód je automaticky přidán do Form_Load událostí k naplnění jednotlivých tabulek ( TableAdapter.Fill metody). Kód je také přidán do Uložit tlačítka klepněte na událost BindingNavigator zpět do databáze uložit data z datové sady ( TableAdapterManager.UpdateAll metoda).

Generované uložit kód obsahuje také řádek kódu, který volá CustomersBindingSource.EndEdit metody. Přesněji řečeno, volá EndEdit Metoda prvního BindingSource přidán do formuláře. Jinými slovy, tento kód se vygeneruje pouze pro přetažení z první tabulky zdroje dat window 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 vázaných na data, které jsou momentálně upravovány. Proto, má-li ovládací prvek vázání dat stále zaměření a klepněte Uložit tlačítko všechny nevyřízené požadavky na úpravy v tomto řízení jsou zpracovány před skutečnou uložit ( TableAdapterManager.UpdateAll metoda).

Poznámka

Pouze přidá návrhář 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 ve vztahu 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 před uložením

  1. Poklepejte Uložit tlačítka 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 Uložit klepnutím na tlačítko události by měl vypadat takto:

    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 na podřízené související 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 datové sady. Jinými slovy bude pravděpodobně nutné přidat nový záznam nadřazeného (zákazník) pro objekt dataset než nové podřízené záznamy (objednávky) má být přidán do dataset povolit omezení cizího klíče. K tomu slouží dítěti 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ý je používán k vytvoření vazby ke zdroji dat.V tomto návodu použijte jednotlivé ovládací prvky svázat nadřazené tabulky; To vyžaduje další kód pro potvrzení nového nadřazeného záznamu.Pokud nadřazené záznamy byly zobrazeny v ovládacím prvku složité vazby, jako DataGridViewtomto dodatečná EndEdit volat pro nadřazený záznam nebylo by nutné.Je to proto, že základní funkce ovládacího prvku vázání dat zpracovává potvrzení nové záznamy.

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

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

    • Open Form1 in design view, click OrdersBindingSource in the component tray, select Events in the Properties window, and then double-click the AddingNew event.
  2. Přidat do obslužné rutiny události na řádek kódu, který volá CustomersBindingSource.EndEdit metody. Kód OrdersBindingSource_AddingNew obslužnou rutinu události by měl vypadat takto:

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

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

Hierarchické aktualizace jsou zapínat a vypínat nastavením hierarchické aktualizace vlastnost dataset. Hierarchické aktualizace jsou standardně, v tomto návodu není nutné změnit hodnotu hierarchické aktualizace vlastnost.

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

  1. Otevřete objekt dataset v návrháře Dataset poklepáním NorthwindDataSet.xsd v souboru Průzkumník řešení.

  2. Vyberte na prázdnou oblast návrhové plochy.

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

    Poznámka

    Hierarchické aktualizace je co řídí, zda kód generován pomocí nastavení vlastnosti TableAdapterManager a logiku pro provedení hierarchické aktualizace či nikoli.Setting HierarchicalUpdate to True generates a TableAdapterManager; setting HierarchicalUpdate to False does not generate a TableAdapterManager.

Testování aplikace

Testování aplikace

  1. Stiskněte klávesu F5.

  2. Proveďte některé změny data v každé tabulce jeden nebo více záznamů.

  3. Přidat nového zákazníka a přidejte nové objednávky pro tohoto zákazníka.

  4. Klepněte 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 v jednotlivých tabulkách.

Další kroky

V závislosti na požadavcích aplikace existuje několik kroků, které můžete provést po uložení dat aplikace založené na systému Windows. Některá z těchto vylepšení této aplikace mohou provádět následující:

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

  • Přidání ověření kódu ověřte, zda data splňují 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