Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Классы 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.
Если у вас нет SQL Server Express LocalDB, установите его на странице скачивания SQL Server Express или с помощью Установщика Visual Studio. В установщике Visual Studioможно установить SQL Server Express LocalDB в рамках рабочей нагрузки хранилища данных и обработки или как отдельный компонент.
Установите пример базы данных Northwind, выполнив следующие действия.
В Visual Studio откройте окно обозревателя объектов SQL Server. (Обозреватель объектов SQL Server устанавливается как часть рабочей нагрузки хранилища данных и обработки в Установщике Visual Studio.) Разверните узел SQL Server . Щелкните правой кнопкой мыши экземпляр LocalDB и выберите Новый запрос.
Откроется окно редактора запросов.
Скопируйте скрипт Northwind Transact-SQL в буфер обмена. Этот скрипт T-SQL создает базу данных Northwind с нуля и заполняет ее данными.
Вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку Выполнить.
Через некоторое время запрос завершает работу и создается база данных Northwind.
Создание приложения Windows Forms
Создайте проект приложения Windows Forms (.NET Framework) для C# или Visual Basic. Назовите проект WindowsSearchForm.
Создание источника данных
На этом шаге создается источник данных из базы данных с помощью мастера настройки источника данных :
Чтобы открыть окно источников данных , используйте быстрый поиск (CTRL+Q) и выполните поиск источников данных.
В окне "Источники данных" выберите "Добавить новый источник данных ", чтобы запустить мастер настройки источника данных .
Выберите базы данных на странице Выбор типа источника данных, а затем выберите Далее.
На экране "Выбор модели базы данных " выберите набор данных и нажмите кнопку "Далее".
На странице выбора подключения к данным выполните одно из следующих действий:
Если в раскрывающемся списке доступно подключение к образцу базы данных Northwind, выберите его.
Нажмите кнопку "Создать подключение", чтобы запустить диалоговое окно "Добавить или изменить подключение ".
На странице "Сохранить строку подключения в файл конфигурации приложения", нажмите кнопку "Далее".
На странице "Выбор объектов базы данных " разверните узел "Таблицы ".
Выберите таблицу "Клиенты" и нажмите кнопку "Готово".
NorthwindDataSet добавляется в проект, а таблица Customers отображается в окне источников данных.
Создание формы
Элементы управления с привязкой к данным можно создать, перетаскивая элементы из окна источников данных в форму:
Убедитесь, что конструктор Windows Forms имеет активный фокус, а окно источников данных открыто и закреплено.
Разверните узел "Клиенты" в окне "Источники данных ".
Перетащите узел Customers из окна источников данных в форму.
На форме отображаются DataGridView и полоса инструментов (BindingNavigator) для навигации по записям. Объекты NorthwindDataSet, CustomersTableAdapter, BindingSource и BindingNavigator отображаются в области компонентов.
Добавление параметризации (функции поиска) в запрос
Можно добавить условие в WHERE
исходный запрос, воспользовавшись диалоговым окном построителя условий поиска.
Под областью конструктора формы выберите кнопку customersTableAdapter, а затем в окне «Свойства» выберите опцию «Добавить запрос...».
Введите FillByCity в области имени нового запроса в диалоговом окне построителя условий поиска .
Добавьте
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 = ?
Нажмите кнопку "ОК ", чтобы закрыть диалоговое окно конструктора условий поиска .
В форму добавляется FillByCityToolStrip .
Тестирование приложения
При запуске приложения откроется форма и она готова принять параметр в качестве входных данных:
Нажмите клавишу F5, чтобы запустить приложение.
Введите Лондон в текстовое поле "Город " и выберите FillByCity.
Сетка данных заполняется клиентами, которые соответствуют критериям. В этом примере сетка данных отображает только клиентов, имеющих значение Лондона в столбце City .
Дальнейшие шаги
В зависимости от требований приложения может потребоваться выполнить несколько шагов после создания параметризованной формы. Некоторые улучшения, которые можно сделать в этом пошаговом руководстве, включают:
Добавление элементов управления, отображающих связанные данные. Дополнительные сведения см. в разделе "Связи" в наборах данных.
Изменение набора данных для добавления или удаления объектов базы данных. Дополнительные сведения см. в статье "Создание и настройка наборов данных".