Dela via


Uppdatera data med hjälp av en TableAdapter 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.

När data i datauppsättningen har ändrats och verifierats kan du skicka tillbaka uppdaterade data till en databas genom att anropa Update metoden för en TableAdapter. Metoden Update uppdaterar en enskild datatabell och kör rätt kommando (INSERT, UPDATE, eller DELETE) baserat på RowState varje datarad i tabellen. När en datauppsättning har relaterade tabeller genererar Visual Studio en TableAdapterManager-klass som du använder för att göra uppdateringarna. Klassen TableAdapterManager säkerställer att uppdateringar görs i rätt ordning baserat på restriktionerna för främmande nyckeln som definieras i databasen. När du använder databundna kontroller skapar databindningsarkitekturen en medlemsvariabel i klassen TableAdapterManager med namnet tableAdapterManager.

Anmärkning

När du försöker uppdatera en datakälla med innehållet i en datauppsättning kan du få fel. För att undvika fel rekommenderar vi att du placerar koden som anropar adapterns Update metod i ett try/catch block.

Den exakta proceduren för att uppdatera en datakälla kan variera beroende på företagets behov, men innehåller följande steg:

  1. Anropa adapterns Update metod i ett try/catch block.

  2. Om ett undantag fångas letar du reda på dataraden som orsakade felet.

  3. Stämma av problemet på dataraden (programmatiskt om du kan, eller genom att presentera den ogiltiga raden för användaren för ändring) och försök sedan uppdatera igen (HasErrors, GetErrors).

Spara data i en databas

Anropa metoden för Update en TableAdapter. Skicka namnet på datatabellen som innehåller de värden som ska skrivas till databasen.

Så här uppdaterar du en databas med hjälp av en TableAdapter

  • Omslut TableAdapter-metoden Update i ett try/catch block. I följande exempel visas hur du uppdaterar innehållet i Customers-tabellen i NorthwindDataSet inifrån ett try/catch-block.

    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }