Dela via


Spara data med TableAdapter DBDirect-metoderna i .NET Framework-program

Anmärkning

Klassen DataSet och relaterade klasser är äldre .NET Framework-tekniker från början av 2000-talet som gör det möjligt för program att arbeta med data i minnet medan apparna kopplas från databasen. Teknikerna är särskilt användbara för appar som gör det möjligt för användare att ändra data och spara ändringarna tillbaka till databasen. Även om datauppsättningar är en bevisad framgångsrik teknik är den rekommenderade metoden för nya .NET-program att använda Entity Framework Core. Entity Framework är ett mer naturligt sätt att arbeta med tabelldata som objektmodeller och har ett enklare programmeringsgränssnitt.

Den här handledningen innehåller detaljerade instruktioner för att köra SQL-instruktioner direkt mot en databas med hjälp av DBDirect-metoderna för en TableAdapter. DBDirect-metoderna för en TableAdapter ger en fin kontrollnivå över dina databasuppdateringar. Du kan använda dem för att köra specifika SQL-instruktioner och lagrade procedurer genom att anropa de enskilda Insertmetoderna , Updateoch Delete efter behov av ditt program (i motsats till den överlagrade Update metoden som utför - INSERToch DELETE -uttrycken UPDATEi ett anrop).

Under den här självstudien får du lära dig att:

Förutsättningar

Stegen i den här handledningen fungerar med .NET Framework Windows Forms-applikationer.

I den här handledningen används SQL Server Express LocalDB och Northwind-exempeldatabasen.

  1. Om du inte har SQL Server Express LocalDB installerar du det antingen från nedladdningssidan för SQL Server Express eller via Visual Studio Installer. I Visual Studio Installerkan du installera SQL Server Express LocalDB som en del av datalagring och bearbetning arbetsbelastning eller som en enskild komponent.

  2. Installera Northwind-exempeldatabasen genom att följa dessa steg:

    1. Öppna fönstret SQL Server Object Explorer i Visual Studio. (SQL Server Object Explorer installeras som en del av datalagrings- och bearbetningsarbetsbelastningen i Visual Studio Installer.) Expandera SQL Server-noden . Högerklicka på din LocalDB-instans och välj Ny fråga.

      Ett frågeredigerarefönster öppnas.

    2. Kopiera Northwind-Transact-SQL-skriptet till urklipp. Det här T-SQL-skriptet skapar Northwind-databasen från grunden och fyller den med data.

    3. Klistra in T-SQL-skriptet i frågeredigeraren och välj sedan knappen Kör.

      Efter en kort tid slutförs frågan och Northwind-databasen skapas.

Skapa ett Windows Forms-program

Det första steget är att skapa en Windows Forms App (.NET Framework). Skapa ett projekt med projekttypen Windows Forms App med hjälp av C# eller Visual Basic.

Anmärkning

Koden för den här handledningen finns i C# och Visual Basic. Om du vill växla kodspråket på den här sidan mellan C# och Visual Basic använder du kodspråksväxlaren överst på sidan till höger.

Skapa en datakälla från databasen

Det här steget använder konfigurationsguiden för datakälla för att skapa en datakälla baserat på Region tabellen i Northwind-exempeldatabasen. Du måste ha åtkomst till Northwind-exempeldatabasen för att kunna skapa anslutningen. Information om hur du konfigurerar Northwind-exempeldatabasen finns i Så här installerar du exempeldatabaser.

Så här skapar du datakällan

  1. På menyn Data väljer du Visa datakällor.

    Fönstret Datakällor öppnas.

  2. I fönstret Datakällor väljer du Lägg till ny datakälla för att starta konfigurationsguiden för datakälla.

  3. På skärmen Välj typ av datakälla väljer du Databas och sedan Nästa.

  4. Gör något av följande på skärmen Välj dataanslutning :

    • Om det finns en dataanslutning till Northwind-exempeldatabasen i listrutan väljer du den.

      -eller-

    • Välj Ny anslutning för att starta dialogrutan Lägg till/ändra anslutning .

  5. Om databasen kräver ett lösenord väljer du alternativet för att inkludera känsliga data och väljer sedan Nästa.

  6. På skärmen Spara anslutningssträng till programkonfigurationsfilen väljer du Nästa.

  7. På skärmen Välj databasobjekt expanderar du noden Tabeller .

  8. Välj tabellen Region och välj sedan Slutför.

    NorthwindDataSet läggs till i projektet och tabellen Region visas i fönstret Datakällor.

Lägg till kontroller i formuläret för att visa data

Skapa de databundna kontrollerna genom att dra objekt från fönstret Datakällor till formuläret.

Om du vill skapa databundna kontroller i Windows-formuläret drar du huvudnoden Region från fönstret Datakällor till formuläret.

En DataGridView kontroll och ett verktygsfält (BindingNavigator) för navigering bland poster visar sig på formuläret. En NorthwindDataSet, RegionTableAdapter, BindingSourceoch BindingNavigator visas i komponentfältet.

Så här lägger du till knappar som anropar de enskilda TableAdapter DbDirect-metoderna

  1. Dra tre Button kontroller från verktygslådan till Formulär1 (under RegionDataGridView).

  2. Ange följande egenskaper för Namn och Text på varje knapp.

    Namn Text
    InsertButton Infoga
    UpdateButton Uppdatering
    DeleteButton Ta bort

Så här lägger du till kod för att infoga nya poster i databasen

  1. Välj InsertButton för att skapa en händelsehanterare för klickhändelsen och öppna formuläret i kodredigeraren.

  2. InsertButton_Click Ersätt händelsehanteraren med följande kod:

    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);
    }
    

    Anmärkning

    Beroende på din Visual Studio-version och vilka projektmallar du använde, kan variabelnamnen som regionTableAdapter eller regionTableAdapter1 i denna kod ha eller sakna en avslutande 1 i den genererade koden. Gör eventuella korrigeringar i koden för att säkerställa att rätt namn används överallt. Visual Studio visar en röd våg där namnet är felaktigt.

Så här lägger du till kod för att uppdatera poster i databasen

  1. Dubbelklicka på UpdateButton för att skapa en händelsehanterare för klickhändelsen och öppna formuläret i kodredigeraren.

  2. UpdateButton_Click Ersätt händelsehanteraren med följande kod:

    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();
    }
    

Så här lägger du till kod för att ta bort poster från databasen

  1. Välj DeleteButton för att skapa en händelsehanterare för klickhändelsen och öppna formuläret i kodredigeraren.

  2. DeleteButton_Click Ersätt händelsehanteraren med följande kod:

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

Starta programmet

  • Välj F5 för att köra programmet.

  • Välj knappen Infoga och kontrollera att den nya posten visas i rutnätet.

  • Välj knappen Uppdatera och kontrollera att posten har uppdaterats i tabellen.

  • Välj knappen Ta bort och kontrollera att posten har tagits bort från rutnätet.

Nästa steg

Beroende på dina programkrav finns det flera steg som du kanske vill utföra när du har skapat ett databundet formulär. Några förbättringar du kan göra i den här självstudien är:

  • Lägga till sökfunktioner i formuläret.

  • Lägga till ytterligare tabeller i datauppsättningen genom att välja Konfigurera datauppsättning med guiden inifrån fönstret Datakällor . Du kan lägga till kontroller som visar relaterade data genom att dra de relaterade noderna till formuläret. Mer information finns i Relationer i datauppsättningar.