Поделиться через


Создание формы Windows Framework для .NET Framework для поиска данных с помощью ADO.NET

Замечание

Классы DataSet и связанные классы являются устаревшими технологиями .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти, пока приложения отключены от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных являются проверенными успешными технологиями, рекомендуемый подход для новых приложений .NET заключается в использовании Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей и имеет более простой интерфейс программирования.

Распространенный сценарий приложения — отображение выбранных данных в форме. Например, может потребоваться отобразить заказы для конкретного клиента или сведения о конкретном заказе. В этом сценарии пользователь вводит сведения в форму, а затем запрос выполняется с входными данными пользователя в качестве параметра; То есть данные выбираются на основе параметризованного запроса. Запрос возвращает только данные, удовлетворяющие условиям, введенным пользователем. В этом пошаговом руководстве показано, как создать запрос, возвращающий клиентов в определенном городе, и изменить пользовательский интерфейс, чтобы пользователи могли ввести имя города и нажать кнопку для выполнения запроса.

Использование параметризованных запросов помогает сделать приложение эффективным, позволяя базе данных работать лучше всего — быстро фильтровать записи. В отличие от этого, если вы запрашиваете всю таблицу базы данных, передаете ее по сети, а затем используйте логику приложения для поиска нужных записей, приложение может стать медленным и неэффективным.

Параметризованные запросы можно добавить в любой TableAdapter (и элементы управления для принятия значений параметров и выполнения запроса) с помощью диалогового окна построителя условий поиска . Откройте диалоговое окно, выбрав команду "Добавить запрос" в меню "Данные " (или в любом смарт-теге TableAdapter).

Задачи, показанные в этом пошаговом руководстве, включают:

  • Создание и настройка источника данных в приложении с помощью мастера настройки источника данных .

  • Задание типа удаления элементов в окне источников данных .

  • Создание элементов управления, отображающих данные путем перетаскивания элементов из окна источников данных в форму.

  • Добавление элементов управления для отображения данных в форме.

  • Завершение диалогового окна построителя условий поиска .

  • Ввод параметров в форму и выполнение параметризованного запроса.

Замечание

Процедуры, описанные в этой статье, применяются только к проектам .NET Framework Windows Forms, а не к проектам Windows Forms .NET Core.

Предпосылки

Необходимо установить нагрузку обработка и хранение данных. См. изменения в Visual Studio.

В этом пошаговом руководстве используется SQL Server Express LocalDB и пример базы данных Northwind.

  1. Если у вас нет SQL Server Express LocalDB, установите его на странице скачивания SQL Server Express или с помощью Установщика Visual Studio. В установщике Visual Studioможно установить SQL Server Express LocalDB в рамках рабочей нагрузки хранилища данных и обработки или как отдельный компонент.

  2. Установите пример базы данных Northwind, выполнив следующие действия.

    1. В Visual Studio откройте окно обозревателя объектов SQL Server. (Обозреватель объектов SQL Server устанавливается как часть рабочей нагрузки хранилища данных и обработки в Установщике Visual Studio.) Разверните узел SQL Server . Щелкните правой кнопкой мыши экземпляр LocalDB и выберите Новый запрос.

      Откроется окно редактора запросов.

    2. Скопируйте скрипт Northwind Transact-SQL в буфер обмена. Этот скрипт T-SQL создает базу данных Northwind с нуля и заполняет ее данными.

    3. Вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку Выполнить.

      Через некоторое время запрос завершает работу и создается база данных Northwind.

Создание приложения Windows Forms

Создайте проект приложения Windows Forms (.NET Framework) для C# или Visual Basic. Назовите проект WindowsSearchForm.

Создание источника данных

На этом шаге создается источник данных из базы данных с помощью мастера настройки источника данных :

  1. Чтобы открыть окно источников данных , используйте быстрый поиск (CTRL+Q) и выполните поиск источников данных.

  2. В окне "Источники данных" выберите "Добавить новый источник данных ", чтобы запустить мастер настройки источника данных .

  3. Выберите базы данных на странице Выбор типа источника данных, а затем выберите Далее.

  4. На экране "Выбор модели базы данных " выберите набор данных и нажмите кнопку "Далее".

  5. На странице выбора подключения к данным выполните одно из следующих действий:

    • Если в раскрывающемся списке доступно подключение к образцу базы данных Northwind, выберите его.

    • Нажмите кнопку "Создать подключение", чтобы запустить диалоговое окно "Добавить или изменить подключение ".

  6. На странице "Сохранить строку подключения в файл конфигурации приложения", нажмите кнопку "Далее".

  7. На странице "Выбор объектов базы данных " разверните узел "Таблицы ".

  8. Выберите таблицу "Клиенты" и нажмите кнопку "Готово".

    NorthwindDataSet добавляется в проект, а таблица Customers отображается в окне источников данных.

Создание формы

Элементы управления с привязкой к данным можно создать, перетаскивая элементы из окна источников данных в форму:

  1. Убедитесь, что конструктор Windows Forms имеет активный фокус, а окно источников данных открыто и закреплено.

  2. Разверните узел "Клиенты" в окне "Источники данных ".

  3. Перетащите узел Customers из окна источников данных в форму.

    На форме отображаются DataGridView и полоса инструментов (BindingNavigator) для навигации по записям. Объекты NorthwindDataSet, CustomersTableAdapter, BindingSource и BindingNavigator отображаются в области компонентов.

Добавление параметризации (функции поиска) в запрос

Можно добавить условие в WHERE исходный запрос, воспользовавшись диалоговым окном построителя условий поиска.

  1. Под областью конструктора формы выберите кнопку customersTableAdapter, а затем в окне «Свойства» выберите опцию «Добавить запрос...».

  2. Введите FillByCity в области имени нового запроса в диалоговом окне построителя условий поиска .

  3. Добавьте WHERE City = @City в запрос в текстовой области запроса .

    Запрос должен быть похож на следующий:

    SELECT CustomerID, CompanyName, ContactName, ContactTitle,
         Address, City, Region, PostalCode, Country, Phone, Fax
    FROM Customers
    WHERE City = @City
    

    Замечание

    Источники данных Access и OLE DB используют вопросительный знак ("?") для обозначения параметров, поэтому WHERE предложение будет выглядеть следующим образом: WHERE City = ?

  4. Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно конструктора условий поиска .

    В форму добавляется FillByCityToolStrip .

Тестирование приложения

При запуске приложения откроется форма и она готова принять параметр в качестве входных данных:

  1. Нажмите клавишу F5, чтобы запустить приложение.

  2. Введите Лондон в текстовое поле "Город " и выберите FillByCity.

    Сетка данных заполняется клиентами, которые соответствуют критериям. В этом примере сетка данных отображает только клиентов, имеющих значение Лондона в столбце City .

Дальнейшие шаги

В зависимости от требований приложения может потребоваться выполнить несколько шагов после создания параметризованной формы. Некоторые улучшения, которые можно сделать в этом пошаговом руководстве, включают: