Udostępnij za pośrednictwem


Tworzenie i konfigurowanie elementów TableAdapters 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.

Metody TableAdapters zapewniają komunikację między aplikacją a bazą danych. Łączą się z bazą danych, uruchamiają zapytania lub procedury składowane i zwracają nową tabelę danych lub wypełniają istniejącą DataTable z zwróconymi danymi. Narzędzia TableAdapters mogą również wysyłać zaktualizowane dane z aplikacji z powrotem do bazy danych.

Elementy TableAdapters są tworzone podczas wykonywania jednej z następujących akcji:

  • Przeciągnij obiekty bazy danych z Eksploratora serwera do Projektant Zestawu danych.

  • Uruchom Kreatora konfiguracji źródła danych i wybierz typ źródła danych baza danych lub usługa sieci Web.

    Kreator konfiguracji źródła danych w programie Visual Studio

Możesz również utworzyć nową tabelę TableAdapter i skonfigurować ją ze źródłem danych, przeciągając element TableAdapter z przybornika do pustego regionu na powierzchni Zestaw danych Projektant.

Aby zapoznać się z wprowadzeniem do elementów TableAdapters, zobacz Fill datasets by using TableAdapters (Wypełnianie zestawów danych przy użyciu elementów TableAdapters).

Uwaga

Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio w tym artykule. Być może używasz innej wersji programu Visual Studio lub innych ustawień środowiska. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Korzystanie z Kreatora konfiguracji tableAdapter

Uruchom Kreatora konfiguracji tableAdapter, aby utworzyć lub edytować tabele TableAdapters i skojarzone z nimi tabele Danych. Istniejący obiekt TableAdapter można skonfigurować, klikając go prawym przyciskiem myszy w obszarze Zestaw danych Projektant.

Zrzut ekranu przedstawiający Kreatora konfiguracji adaptera tabel.

Jeśli przeciągniesz nowy element TableAdapter z przybornika, gdy zestaw danych Projektant jest fokusem, kreator uruchomi się i wyświetli monit o określenie źródła danych, z którym ma nawiązać połączenie tableAdapter. Na następnej stronie kreator pyta, jakiego rodzaju polecenia powinny używać do komunikowania się z bazą danych , instrukcji SQL lub procedur składowanych. (Nie widzisz tego ekranu, jeśli konfigurujesz obiekt TableAdapter, który jest już skojarzony ze źródłem danych).

  • Istnieje możliwość utworzenia nowej procedury składowanej w bazowej bazie danych, jeśli masz odpowiednie uprawnienia do bazy danych. Jeśli nie masz tych uprawnień, ta opcja nie jest dostępna.

  • Można również uruchomić istniejące procedury składowane dla poleceń SELECT, INSERT, UPDATE i DELETE obiektu TableAdapter. Procedura składowana przypisana do polecenia Update jest uruchamiana na przykład po wywołaniu TableAdapter.Update() metody .

Zamapuj parametry z wybranej procedury składowanej na odpowiednie kolumny w tabeli danych. Jeśli na przykład procedura składowana akceptuje parametr o nazwie , @CompanyName który przekazuje do CompanyName kolumny w tabeli, ustaw kolumnę źródłową parametru @CompanyName na CompanyNamewartość .

Uwaga

Procedura składowana przypisana do SELECT polecenia jest uruchamiana przez wywołanie metody tableAdapter, która zostanie nazwana w następnym kroku kreatora. Domyślną metodą jest Fill, więc kod, który jest zwykle używany do uruchamiania SELECT procedury, to TableAdapter.Fill(tableName). Jeśli zmienisz domyślną nazwę z Fill, zastąp Fill ciąg nazwą, którą przypisujesz, i zastąp ciąg "TableAdapter" rzeczywistą nazwą tableAdapter (na przykład CustomersTableAdapter).

  • Wybranie opcji Utwórz metody wysyłania aktualizacji bezpośrednio do bazy danych jest równoważne ustawieniu GenerateDBDirectMethods właściwości na true. Opcja jest niedostępna, gdy oryginalna instrukcja SQL nie udostępnia wystarczającej ilości informacji lub kwerenda nie jest kwerendą do aktualizacji. Taka sytuacja może wystąpić, na przykład w zapytaniach JOIN i zapytaniach, które zwracają pojedynczą (skalarną) wartość.

Opcje zaawansowane w kreatorze umożliwiają:

  • Generowanie INSERTinstrukcji , UPDATEi DELETE na SELECT podstawie instrukcji zdefiniowanej na stronie Generowanie instrukcji SQL
  • Korzystanie z optymistycznej współbieżności
  • Określ, czy odświeżyć tabelę danych po INSERT uruchomieniu instrukcji i UPDATE

Konfigurowanie metody Fill obiektu TableAdapter

Czasami warto zmienić schemat tabeli TableAdapter. W tym celu zmodyfikujesz metodę podstawową Fill tableAdapter. Klasy TableAdapters są tworzone przy użyciu metody podstawowej Fill , która definiuje schemat skojarzonej tabeli danych. Metoda podstawowa Fill jest oparta na kwerendzie lub procedurze składowanej wprowadzonej podczas pierwotnie skonfigurowanego obiektu TableAdapter. Jest to pierwsza (najbardziej górna) metoda w tabeli danych w Projektant Zestawu danych.

TableAdapter z wieloma zapytaniami

Wszelkie zmiany wprowadzone w metodzie main Fill tabeli TableAdapter są odzwierciedlane w schemacie skojarzonej tabeli danych. Na przykład usunięcie kolumny z zapytania w metodzie main Fill spowoduje również usunięcie kolumny ze skojarzonej tabeli danych. Ponadto usunięcie kolumny z metody main Fill spowoduje usunięcie kolumny z dodatkowych zapytań dotyczących tej metody TableAdapter.

Możesz użyć Kreatora konfiguracji zapytań TableAdapter, aby utworzyć i edytować dodatkowe zapytania dla tabeli TableAdapter. Te dodatkowe zapytania muszą być zgodne ze schematem tabeli, chyba że zwracają wartość skalarną. Każde dodatkowe zapytanie ma podaną nazwę.

W poniższym przykładzie pokazano, jak wywołać dodatkowe zapytanie o nazwie FillByCity:

CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")

Aby uruchomić Kreatora konfiguracji zapytań TableAdapter przy użyciu nowego zapytania

  1. Otwórz zestaw danych w Projektant Zestaw danych.

  2. Jeśli tworzysz nowe zapytanie, przeciągnij obiekt Query z karty Zestaw danych przybornika na DataTableelement , lub wybierz pozycję Dodaj zapytanie z menu skrótów tableAdapter. Możesz również przeciągnąć obiekt Query do pustego obszaru zestawu danych Projektant, który tworzy obiekt TableAdapter bez skojarzonego elementu DataTable. Te zapytania mogą zwracać tylko pojedyncze (skalarne) wartości lub uruchamiać UPDATEpolecenia , INSERTlub DELETE względem bazy danych.

  3. Na ekranie Wybieranie danych Połączenie ion wybierz lub utwórz połączenie, którego będzie używać zapytanie.

    Uwaga

    Ten ekran jest wyświetlany tylko wtedy, gdy projektant nie może określić odpowiedniego połączenia do użycia lub gdy żadne połączenia nie są dostępne.

  4. Na ekranie Wybierz typ polecenia wybierz z następujących metod pobierania danych z bazy danych:

    • Używanie instrukcji SQL umożliwia wpisywanie instrukcji SQL w celu wybrania danych z bazy danych.

    • Tworzenie nowej procedury składowanej umożliwia kreatorowi utworzenie nowej procedury składowanej (w bazie danych) na podstawie określonej SELECT instrukcji.

    • Użycie istniejących procedur składowanych umożliwia uruchomienie istniejącej procedury składowanej podczas uruchamiania zapytania.

Aby uruchomić kreatora konfiguracji zapytań TableAdapter w istniejącym zapytaniu

  • Jeśli edytujesz istniejące zapytanie TableAdapter, kliknij je prawym przyciskiem myszy, a następnie wybierz polecenie Konfiguruj z menu skrótów.

    Uwaga

    Kliknięcie prawym przyciskiem myszy głównego zapytania obiektu TableAdapter ponownie konfiguruje tabelę TableAdapter i DataTable schemat. Kliknięcie prawym przyciskiem myszy dodatkowego zapytania w obiekcie TableAdapter umożliwia jednak skonfigurowanie tylko wybranego zapytania. Kreator konfiguracji tableAdapter ponownie konfiguruje definicję TableAdapter, podczas gdy Kreator konfiguracji kwerendy TableAdapter ponownie konfiguruje wybrane zapytanie.

Aby dodać zapytanie globalne do obiektu TableAdapter

  • Zapytania globalne to zapytania SQL, które zwracają pojedynczą wartość (skalarną) lub bez wartości. Zazwyczaj funkcje globalne wykonują operacje bazy danych, takie jak operacje wstawiania, aktualizacji i usuwania. Agregują również informacje, takie jak liczba klientów w tabeli lub łączne opłaty za wszystkie elementy w określonej kolejności.

    Zapytania globalne można dodawać, przeciągając obiekt Query z karty Zestaw danych przybornika do pustego obszaru zestawu danych Projektant.

  • Podaj zapytanie, które wykonuje żądane zadanie, na przykład SELECT COUNT(*) AS CustomerCount FROM Customers.

    Uwaga

    Przeciągnięcie obiektu Query bezpośrednio do zestawu danych Projektant powoduje utworzenie metody zwracającej tylko wartość skalarną (pojedynczą). Podczas gdy wybrane zapytanie lub procedura składowana może zwracać więcej niż jedną wartość, metoda utworzona przez kreatora zwraca tylko jedną wartość. Na przykład zapytanie może zwrócić pierwszą kolumnę pierwszego wiersza zwróconych danych.