Udostępnij za pośrednictwem


Bezpośredni dostęp do bazy danych za pomocą narzędzia TableAdapter w aplikacjach .NET Framework

Uwaga

Zestawy danych i powiązane klasy to starsze technologie .NET Framework z początku 2000 roku, które umożliwiają aplikacjom pracę z danymi w pamięci, gdy aplikacje są odłączone od bazy danych. Są one szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian z powrotem w bazie danych. Mimo że zestawy danych okazały się bardzo udaną technologią, zalecamy, aby nowe aplikacje platformy .NET używały platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma prostszy interfejs programowania.

InsertCommandOprócz elementów , UpdateCommandi DeleteCommand, klasy TableAdapters są tworzone za pomocą metod, które można uruchamiać bezpośrednio w bazie danych. Można wywołać te metody (TableAdapter.Insert, TableAdapter.Update, i TableAdapter.Delete), aby manipulować danymi bezpośrednio w bazie danych.

Jeśli nie chcesz tworzyć tych metod bezpośrednich, ustaw właściwość TableAdapter GenerateDbDirectMethods na false wartość w oknie Właściwości . Jeśli jakiekolwiek zapytania są dodawane do obiektu TableAdapter oprócz głównego zapytania tableAdapter, są to autonomiczne zapytania, które nie generują tych DbDirect metod.

Wysyłanie poleceń bezpośrednio do bazy danych

Wywołaj metodę TableAdapter DbDirect , która wykonuje zadanie, które próbujesz wykonać.

Aby wstawić nowe rekordy bezpośrednio do bazy danych

  • Wywołaj metodę TableAdapter Insert , przekazując wartości dla każdej kolumny jako parametry. Poniższa procedura używa Region tabeli w bazie danych Northwind jako przykładu.

    Uwaga

    Jeśli nie masz dostępnego wystąpienia, utwórz wystąpienie klasy TableAdapter, którego chcesz użyć.

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

Aby zaktualizować rekordy bezpośrednio w bazie danych

  • Wywołaj metodę TableAdapter Update , przekazując nowe i oryginalne wartości dla każdej kolumny jako parametry.

    Uwaga

    Jeśli nie masz dostępnego wystąpienia, utwórz wystąpienie klasy TableAdapter, którego chcesz użyć.

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

Aby usunąć rekordy bezpośrednio z bazy danych

  • Wywołaj metodę TableAdapter Delete , przekazując wartości dla każdej kolumny jako parametry Delete metody. Poniższa procedura używa Region tabeli w bazie danych Northwind jako przykładu.

    Uwaga

    Jeśli nie masz dostępnego wystąpienia, utwórz wystąpienie klasy TableAdapter, którego chcesz użyć.

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