Udostępnij za pośrednictwem


Tworzenie sparametryzowanych zapytań 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.

Zapytanie sparametryzowane zwraca dane spełniające warunki klauzuli WHERE w zapytaniu. Na przykład można sparametryzować listę klientów, aby wyświetlić tylko klientów w określonym mieście, dodając WHERE City = @City na końcu instrukcji SQL zwracającej listę klientów.

Zapytania TableAdapter są tworzone w Projektant zestawu danych. Można je również utworzyć w aplikacji systemu Windows za pomocą polecenia Parametryzacja źródła danych w menu Dane. Polecenie Parametryzacja źródła danych tworzy kontrolki w formularzu, w którym można wprowadzić wartości parametrów i uruchomić zapytanie.

Uwaga

Podczas konstruowania zapytania sparametryzowanego użyj notacji parametrów specyficznej dla bazy danych, względem której kodujesz. Na przykład źródła danych Programu Access i OleDb używają znaku zapytania "?", aby oznaczyć parametry, więc klauzula WHERE będzie wyglądać następująco: WHERE City = ?.

Tworzenie sparametryzowanego zapytania TableAdapter

Aby utworzyć zapytanie sparametryzowane w zestawie danych Projektant

Aby utworzyć zapytanie sparametryzowane podczas projektowania formularza powiązanego z danymi

  1. Wybierz kontrolkę w formularzu, która jest już powiązana z zestawem danych. Aby uzyskać więcej informacji, zobacz Wiązanie kontrolek formularzy systemu Windows z danymi w programie Visual Studio.

  2. W menu Dane wybierz pozycję Dodaj zapytanie.

  3. Ukończ okno dialogowe Konstruktor kryteriów wyszukiwania, dodając klauzulę WHERE z żądanymi parametrami do instrukcji SQL.

Aby dodać zapytanie do istniejącego formularza powiązanego z danymi

  1. Otwórz formularz w Projektant formularzy systemu Windows.

  2. W menu Dane wybierz pozycję Dodaj zapytanie lub tagi inteligentne danych.

    Uwaga

    Jeśli dodawanie zapytania nie jest dostępne w menu Dane , wybierz kontrolkę w formularzu, w którym zostanie wyświetlone źródło danych, do którego chcesz dodać parametryzacja. Jeśli na przykład formularz wyświetla dane w kontrolce DataGridView , wybierz je. Jeśli formularz wyświetla dane w poszczególnych kontrolkach, wybierz dowolną kontrolkę związaną z danymi.

  3. W obszarze Wybieranie tabeli źródła danych wybierz tabelę, do której chcesz dodać parametryzacja.

  4. Wpisz nazwę w polu Nowa nazwa zapytania, jeśli tworzysz nowe zapytanie.

    lub

    Wybierz zapytanie w polu Istniejąca nazwa zapytania.

  5. W polu Tekst zapytania wpisz zapytanie, które przyjmuje parametry.

  6. Wybierz przycisk OK.

    Kontrolka służąca do wprowadzania parametru i przycisku Załaduj jest dodawana do formularza w kontrolce ToolStrip .

Zapytanie o wartości null

Parametry tableAdapter można przypisać wartości null, gdy chcesz wykonywać zapytania dotyczące rekordów, które nie mają bieżącej wartości. Rozważmy na przykład następujące zapytanie, które ma ShippedDate parametr w klauzuli WHERE :

SELECT CustomerID, OrderDate, ShippedDate
FROM Orders
WHERE (ShippedDate = @ShippedDate) OR (ShippedDate IS NULL)

Jeśli było to zapytanie dotyczące obiektu TableAdapter, możesz wykonać zapytanie dotyczące wszystkich zamówień, które nie zostały wysłane przy użyciu następującego kodu:

ordersTableAdapter.FillByShippedDate(northwindDataSet.Orders, null);

Aby umożliwić kwerendzie akceptowanie wartości null:

  1. W Projektant zestawu danych wybierz zapytanie TableAdapter, które musi zaakceptować wartości parametrów null.

  2. W oknie Właściwości wybierz pozycję Parametry, a następnie kliknij przycisk wielokropka (...), aby otworzyć Edytor kolekcji parametrów.

  3. Wybierz parametr, który zezwala na wartości null i ustaw właściwość AllowDbNull na truewartość .