Dela via


Direktåtkomst till databasen med 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.

Förutom InsertCommand, UpdateCommand och DeleteCommand skapas TableAdapters med metoder som kan köras direkt mot databasen. Du kan anropa dessa metoder (TableAdapter.Insert, TableAdapter.Updateoch TableAdapter.Delete) för att manipulera data direkt i databasen.

Om du inte vill skapa de här direktmetoderna anger du egenskapen TableAdapter GenerateDbDirectMethods till false i fönstret Egenskaper . Om några frågor läggs till i en TableAdapter utöver TableAdapter-huvudfrågan är de fristående frågor som inte genererar dessa DbDirect metoder.

Skicka kommandon direkt till en databas

Anropa metoden TableAdapter DbDirect som utför den uppgift som du försöker utföra.

Infoga nya poster direkt i en databas

  • Anropa TableAdapter-metoden Insert och skicka in värdena för varje kolumn som parametrar. Följande procedur använder tabellen Region i Northwind-databasen som exempel.

    Anmärkning

    Om du inte har någon tillgänglig instans, instansierar du den TableAdapter som du vill använda.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Uppdatera poster direkt i en databas

  • Anropa TableAdapter-metoden Update och skicka in de nya och ursprungliga värdena för varje kolumn som parametrar.

    Anmärkning

    Om du inte har någon tillgänglig instans, instansierar du den TableAdapter som du vill använda.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

Ta bort poster direkt från en databas

  • Anropa TableAdapter-metoden Delete och skicka in värdena för varje kolumn som parametrar för Delete metoden. Följande procedur använder tabellen Region i Northwind-databasen som exempel.

    Anmärkning

    Om du inte har någon tillgänglig instans, instansierar du den TableAdapter som du vill använda.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");