Udostępnij za pośrednictwem


Aktualizowanie danych przy użyciu elementu 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.

Po zmodyfikowaniu i zweryfikowaniu danych w zestawie danych można wysłać zaktualizowane dane z powrotem do bazy danych, wywołując Update metodę tableAdapter. Metoda Update aktualizuje pojedynczą tabelę danych i uruchamia poprawne polecenie (INSERT, UPDATE, lub DELETE) na RowState podstawie każdego wiersza danych w tabeli. Gdy zestaw danych zawiera powiązane tabele, program Visual Studio generuje klasę TableAdapterManager używaną do wykonywania aktualizacji. Klasa TableAdapterManager zapewnia, że aktualizacje są wprowadzane w odpowiedniej kolejności na podstawie ograniczeń klucza obcego zdefiniowanych w bazie danych. W przypadku używania kontrolek powiązanych z danymi architektura powiązania danych tworzy zmienną składową klasy TableAdapterManager o nazwie tableAdapterManager.

Uwaga

Podczas próby zaktualizowania źródła danych przy użyciu zawartości zestawu danych można uzyskać błędy. Aby uniknąć błędów, zalecamy umieszczenie kodu wywołującego try/catch metodę karty Update wewnątrz bloku.

Dokładna procedura aktualizowania źródła danych może się różnić w zależności od potrzeb biznesowych, ale obejmuje następujące kroki:

  1. Wywołaj metodę try/catch adaptera Update w bloku.

  2. Jeśli zostanie przechwycony wyjątek, znajdź wiersz danych, który spowodował błąd.

  3. Uzgadnianie problemu w wierszu danych (programowo, jeśli możesz lub przez przedstawienie nieprawidłowego wiersza użytkownikowi w celu modyfikacji), a następnie spróbuj ponownie zaktualizować (HasErrors, GetErrors).

Zapisywanie danych w bazie danych

Wywołaj metodę Update tableAdapter. Przekaż nazwę tabeli danych, która zawiera wartości, które mają zostać zapisane w bazie danych.

Aby zaktualizować bazę danych przy użyciu elementu TableAdapter

  • Należy ująć metodę try/catch TableAdapterUpdate w bloku. W poniższym przykładzie pokazano, jak zaktualizować zawartość Customers tabeli z NorthwindDataSet bloku/trycatch .

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