Udostępnij przez


Tworzenie sparametryzowanych zapytań TableAdapter w aplikacjach .NET Framework

Uwaga / Notatka

Klasy DataSet 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 w bazie danych. Mimo że zestawy danych są sprawdzoną pomyślną technologią, zalecaną metodą dla nowych aplikacji platformy .NET jest użycie platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma bardziej prosty 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.

W Projektancie zestawów danych utworzysz sparametryzowane zapytania TableAdapter. 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 / Notatka

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 projektancie zestawów danych

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 programie Windows Forms Designer.

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

    Uwaga / Notatka

    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 Wybierz tabelę źródła danych wybierz tabelę, do której chcesz dodać parametryzację.

  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. Kliknij 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. Na przykład, rozważmy następujące zapytanie, które ma parametr ShippedDate w swojej 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 Projektancie zestawów danych wybierz zapytanie TableAdapter, które musi akceptować wartości parametrów null.

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

  3. pl-PL: Wybierz parametr, który zezwala na wartości null i ustaw właściwość AllowDbNull na true.