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. 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.
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 Projektanta zestawów danych.
Uruchom Kreatora konfiguracji źródła danych i wybierz typ źródła danych baza danych lub usługa sieci Web.
Możesz również utworzyć nowy obiekt TableAdapter i skonfigurować go ze źródłem danych, przeciągając element TableAdapter z przybornika do pustego regionu na powierzchni Projektanta zestawów danych.
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 Projektancie zestawów danych.
Jeśli przeciągniesz nowy element TableAdapter z przybornika, gdy projektant zestawów danych jest w trybie koncentracji uwagi, kreator uruchomi się i wyświetli monit o określenie źródła danych, z którym ma się połączyć narzędzie TableAdapter. Na następnej stronie kreator, 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 CompanyName
wartość .
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
INSERT
instrukcji ,UPDATE
iDELETE
naSELECT
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 iUPDATE
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 Projektancie zestawu danych.
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
Otwórz zestaw danych w Projektancie zestawów danych.
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 Projektanta zestawów danych, który tworzy obiekt TableAdapter bez skojarzonego elementu DataTable. Te zapytania mogą zwracać tylko pojedyncze (skalarne) wartości lub uruchamiać
UPDATE
polecenia ,INSERT
lubDELETE
względem bazy danych.Na ekranie Wybieranie połączenia danych 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.
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 Projektanta zestawów danych.
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 Projektanta zestawów danych powoduje utworzenie metody, która zwraca 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.