Создание параметризованных запросов TableAdapter в приложениях платформа .NET Framework
Примечание.
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
Параметризованный запрос возвращает данные, соответствующие условиям WHERE
предложения в запросе. Например, можно параметризировать список клиентов, чтобы отображать только клиентов из определенного города, добавив WHERE City = @City
в конец инструкции SQL, возвращающей список клиентов.
В конструкторе наборов данных создаются параметризованные запросы TableAdapter. Их также можно создать в приложении Windows с помощью команды "Параметризация источника данных" в меню "Данные". Команда Parameterize Data Source создает элементы управления в форме, где можно ввести значения параметров и запустить запрос.
Примечание.
При создании параметризованного запроса используйте нотацию параметров, относящуюся к базе данных, которую вы кодируете. Например, источники данных Access и OleDb используют вопросительный знак "?" для обозначения параметров, поэтому WHERE
предложение будет выглядеть следующим образом: WHERE City = ?
Создание параметризованного запроса TableAdapter
Порядок создания параметризованного запроса в Конструкторе наборов данных
Создайте новый TableAdapter, добавив
WHERE
предложение с требуемыми параметрами в инструкцию SQL. Дополнительные сведения см. в разделе "Создание и настройка TableAdapters".or
Добавьте запрос к существующему TableAdapter, добавив
WHERE
предложение с требуемыми параметрами в инструкцию SQL.
Порядок создания параметризованного запроса при разработке формы с привязкой к данным
Выберите на форме элемент управления, который уже привязан к набору данных. Дополнительные сведения см. в статье "Привязка элементов управления Windows Forms к данным в Visual Studio".
В меню "Данные" выберите "Добавить запрос".
Заполните диалоговое окно построителя условий поиска, добавив
WHERE
предложение с требуемыми параметрами в инструкцию SQL.
Добавление запроса в существующую форму с привязкой к данным
Откройте форму в конструкторе Windows Forms.
В меню "Данные" выберите "Добавить запрос" или "Смарт-теги данных".
Примечание.
Если команда Добавить запрос в меню Данные отсутствует, выберите на форме элемент управления, отображающий тот источник данных, в который вы хотите добавить параметризацию. Например, если форма отображает данные в элементе управления DataGridView, выберите его. Если форма отображает данные в отдельных элементах управления, выберите любой элемент управления с привязкой к данным.
В области таблицы "Выбор источника данных" выберите таблицу, в которую требуется добавить параметризацию.
Введите имя в поле Имя нового запроса, если вы создаете запрос.
or
Выберите запрос в поле Имя существующего запроса.
В текстовом поле запроса введите запрос, принимаюющий параметры.
Нажмите ОК.
Элемент управления для ввода параметра и кнопка Загрузка добавляются на форму в элемент управления ToolStrip.
Запрос значений NULL
Параметры TableAdapter можно назначать значения NULL, если требуется запрашивать записи, у которых нет текущего значения. Например, рассмотрим следующий запрос, имеющий ShippedDate
параметр в предложении WHERE
:
SELECT CustomerID, OrderDate, ShippedDate
FROM Orders
WHERE (ShippedDate = @ShippedDate) OR (ShippedDate IS NULL)
Если это был запрос к TableAdapter, можно запросить все заказы, которые не были отправлены с помощью следующего кода:
Чтобы разрешить запрос принимать значения NULL, выполните следующие действия.
В конструкторе наборов данных выберите запрос TableAdapter, который должен принимать значения параметров NULL.
В окне "Свойства" выберите "Параметры", а затем нажмите кнопку с многоточием (...), чтобы открыть редактор коллекции параметров.
Выберите параметр, разрешающий значения NULL, и задайте для свойства AllowDbNull значение
true
.