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. Technologie te są 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:
Wywołaj metodę
try
/catch
adapteraUpdate
w bloku.Jeśli zostanie przechwycony wyjątek, znajdź wiersz danych, który spowodował błąd.
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 zNorthwindDataSet
bloku/try
catch
.