Sdílet prostřednictvím


Ukládání dat pomocí metod TableAdapter DBDirect v aplikacích rozhraní .NET Framework

Poznámka:

Třídy DataSet a související třídy jsou starší technologie rozhraní .NET Framework z počátku 2000, které umožňují aplikacím pracovat s daty v paměti, zatímco aplikace jsou odpojeny 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ž jsou datové sady ověřenou úspěšnou technologií, doporučeným přístupem pro nové aplikace .NET je použití 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í.

Tento kurz obsahuje podrobné pokyny pro spouštění příkazů SQL přímo v databázi pomocí metod DBDirect objektu TableAdapter. Metody DBDirect objektu TableAdapter poskytují podrobnou úroveň kontroly nad aktualizacemi databáze. Můžete je použít ke spuštění konkrétních příkazů SQL a uložených procedur voláním jednotlivých Insert, Updatea Delete metod podle potřeby vaší aplikace (na rozdíl od přetížené Update metody, která provádí UPDATE, INSERTa DELETE příkazy všechny v jednom volání).

V tomto kurzu se naučíte:

Požadavky

Kroky v tomto kurzu fungují s aplikacemi Windows Forms v rozhraní .NET Framework.

Tento kurz používá SQL Server Express LocalDB a ukázkovou databázi Northwind.

  1. Pokud nemáte SQL Server Express LocalDB, nainstalujte ho buď ze stránky pro stažení SQL Serveru Express, nebo prostřednictvím instalačního programu sady Visual Studio. V instalačním programu sady Visual Studiomůžete SQL Server Express LocalDB nainstalovat jako součást ukládání a zpracování dat úlohy nebo jako jednotlivou komponentu.

  2. Následujícím postupem nainstalujte ukázkovou databázi Northwind:

    1. V sadě Visual Studio otevřete okno Průzkumník objektů SQL Serveru. (Průzkumník objektů SQL Serveru se instaluje jako součást úlohy Ukládání a zpracování dat v instalačním programu sady Visual Studio.) Rozbalte uzel SQL Serveru . Klikněte pravým tlačítkem na instanci LocalDB a vyberte Nový dotaz.

      Otevře se okno editoru dotazů.

    2. Zkopírujte skript Northwind Transact-SQL do vaší schránky. Tento skript T-SQL vytvoří zcela novou databázi Northwind a naplní ji daty.

    3. Vložte skript T-SQL do editoru dotazů a pak zvolte tlačítko Spustit.

      Po krátké době se dotaz dokončí a vytvoří se databáze Northwind.

Vytvoření aplikace Windows Forms

Prvním krokem je vytvoření aplikace Windows Forms (.NET Framework). Vytvořte projekt pomocí typu projektu aplikace Windows Forms pomocí jazyka C# nebo Jazyka Visual Basic.

Poznámka:

Kód pro tento kurz je k dispozici v jazyce C# a Visual Basic. Pokud chcete přepnout jazyk kódu na této stránce mezi jazykem C# a Visual Basicem, použijte přepínač jazyka kódu v horní části stránky na pravé straně.

Vytvoření zdroje dat z databáze

Tento krok používá Průvodce konfigurací zdroje dat k vytvoření zdroje dat na Region základě tabulky v ukázkové databázi Northwind. Abyste mohli vytvořit připojení, musíte mít přístup k ukázkové databázi Northwind. Informace o nastavení ukázkové databáze Northwind naleznete v tématu Postupy: Instalace ukázkových databází.

Vytvoření zdroje dat

  1. V nabídce Data vyberte Zobrazit zdroje dat.

    Otevře se okno Zdroje dat .

  2. V okně Zdroje dat vyberte Přidat nový zdroj dat a spusťte Průvodce konfigurací zdroje dat.

  3. Na obrazovce Zvolit typ zdroje dat vyberte Databázi a pak vyberte Další.

  4. Na obrazovce Zvolit datové připojení udělejte jednu z těchto věcí:

    • Pokud je datové připojení k ukázkové databázi Northwind k dispozici v rozevíracím seznamu, vyberte ho.

      nebo

    • Výběrem možnosti Nové připojení spusťte dialogové okno Přidat nebo upravit připojení .

  5. Pokud vaše databáze vyžaduje heslo, vyberte možnost zahrnout citlivá data a pak vyberte Další.

  6. Na obrazovce Uložit připojovací řetězec do konfiguračního souboru aplikace vyberte Další.

  7. Na obrazovce Zvolit databázové objekty rozbalte uzel Tabulky .

  8. Region Vyberte tabulku a pak vyberte Dokončit.

    NorthwindDataSet se přidá do projektu a Region tabulka se zobrazí v okně Zdroje dat.

Přidání ovládacích prvků do formuláře pro zobrazení dat

Ovládací prvky vázané na data můžete vytvořit přetažením položek z okna Zdroje dat do formuláře.

Chcete-li vytvořit ovládací prvky vázané na data ve formuláři Windows, přetáhněte hlavní uzel oblasti z okna Zdroje dat do formuláře.

Ovládací kontrolka DataGridView a pruh nástrojů (BindingNavigator) pro navigaci záznamů se zobrazí ve formuláři. NorthwindDataSet, RegionTableAdapter, a BindingSource, BindingNavigator se objeví v zásobníku komponent.

Přidejte tlačítka, která budou volat jednotlivé metody TableAdapter DbDirect

  1. Přetáhněte tři Button ovládací prvky ze sady nástrojů do formuláře Form1 (pod RegionDataGridView).

  2. Na každém tlačítku nastavte následující vlastnosti Název a Text .

    Název Text
    InsertButton Vložit
    UpdateButton Aktualizace
    DeleteButton Vymazat

Přidání kódu pro vložení nových záznamů do databáze

  1. Vyberte InsertButton a vytvořte obslužnou rutinu události pro událost kliknutí a otevřete formulář v editoru kódu.

  2. Obslužnou rutinu InsertButton_Click události nahraďte následujícím kódem:

    private void InsertButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        String newRegionDescription = "NorthEastern";
    
        try
        {
            regionTableAdapter1.Insert(newRegionID, newRegionDescription);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Insert Failed");
        }
        RefreshDataset();
    }
    
    
    private void RefreshDataset()
    {
        this.regionTableAdapter1.Fill(this.northwindDataSet1.Region);
    }
    

    Poznámka:

    V závislosti na verzi Visual Studio a šablonách projektů, které jste použili, můžou názvy proměnných jako regionTableAdapter nebo regionTableAdapter1 použité v tomto kódu obsahovat koncové číslo 1 v generovaném kódu. Proveďte všechny opravy v kódu, abyste zajistili, že se správný název použije všude. Visual Studio zobrazuje červenou vlnovku, kde je název nesprávný.

Přidání kódu pro aktualizaci záznamů v databázi

  1. Poklikáním na UpdateButton vytvořte obslužnou rutinu události pro událost kliknutí a otevřete formulář v editoru kódu.

  2. Obslužnou rutinu UpdateButton_Click události nahraďte následujícím kódem:

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

Přidání kódu pro odstranění záznamů z databáze

  1. Vyberte DeleteButton a vytvořte obslužnou rutinu události pro událost kliknutí a otevřete formulář v editoru kódu.

  2. Obslužnou rutinu DeleteButton_Click události nahraďte následujícím kódem:

    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

Spuštění aplikace

  • Výběrem klávesy F5 spusťte aplikaci.

  • Vyberte tlačítko Vložit a ověřte, že se nový záznam zobrazí v mřížce.

  • Vyberte tlačítko Aktualizovat a ověřte, že se záznam aktualizuje v mřížce.

  • Vyberte tlačítko Odstranit a ověřte, že se záznam odebere z mřížky.

Další kroky

V závislosti na požadavcích vaší aplikace můžete po vytvoření formuláře vázaného na data provést několik kroků. Mezi vylepšení, která můžete v tomto kurzu provést, patří:

  • Přidání funkce vyhledávání do formuláře

  • Přidání dalších tabulek do datové sady výběrem možnosti Konfigurovat datovou sadu pomocí Průvodce v okně Zdroje dat . Ovládací prvky, které zobrazují související data, můžete přidat přetažením souvisejících uzlů do formuláře. Další informace naleznete v tématu Relace v datových sadách.