Udostępnij przez


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

Uwaga / Notatka

Klasy DataSet 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. Technologie te są szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian w bazie danych. Mimo że zestawy danych są sprawdzoną pomyślną technologią, zalecaną metodą dla nowych aplikacji platformy .NET jest użycie platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma bardziej prosty interfejs programowania.

Oprócz InsertCommand, UpdateCommand i 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ść TableAdapterGenerateDbDirectMethods na wartość false 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. Procedura poniżej używa jako przykładu tabeli Region w bazie danych Northwind.

    Uwaga / Notatka

    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 / Notatka

    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 / Notatka

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

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