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


Практическое руководство. Разработка запроса с помощью конструктора запросов

Запрос возвращает данные, удовлетворяющие заданным условиям.Для получения дополнительной информации см. Запросы: извлечение сведений из источника данных..Используйте запрос для отображения сведений на экране.Кроме того, можно использовать результаты запроса в настраиваемой бизнес-логике.

Для начала добавьте запрос в проект.Для получения дополнительной информации см. Практическое руководство. Добавление, удаление и изменение запроса.Запрос автоматически открывается в конструкторе запросов.В конструкторе запросов для создания запроса выполните любую из следующих задач:

  • Добавление условий фильтра.

    Условие фильтра описывает критерий, которому должна соответствовать каждая строка, включаемая в результаты.

  • Использование параметра в условии фильтра.

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

  • Группировка условий фильтра.

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

  • Добавление условий сортировки.

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

  • Изменение порядка условий фильтра, групп фильтров, условий сортировки и параметров.

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

Добавление условий фильтра

Условия фильтра определяют строки данных, которые должен возвращать запрос.Например, можно добавить условие фильтра, которое возвращает только клиентов, расположенных в Нью-Йорке.Условия фильтра совпадает с условие поиска в предложении WHERE традиционного инструкции SQL.Условия фильтра содержат свойство выбора, оператор, тип сравнения и значение для сравнения.Условия фильтра разделены логическими операторами.

На следующем рисунке показаны составные части условия фильтра.

Условия фильтра в запросе

Добавление условия фильтра

  1. В конструкторе запросов разверните раздел Фильтр запроса.

  2. В разделе Фильтр нажмите кнопку Добавить фильтр.

    Условие фильтра будет добавлено в раздел Фильтр.Рядом с условием фильтра появятся несколько раскрывающихся списков и текстовых полей.

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

    • Выберите оператор Where для возврата всех строк данных, которые соответствуют остальной части условия фильтра.

    • Выберите оператор WhereNot, чтобы возвращать строки данных, которые не соответствуют оставшейся части условия фильтра.

  4. Во втором раскрывающемся списке выберите свойство, которое требуется использовать в качестве шаблона фильтрации.

    Например, если запрос должен возвращать заказы на продажу с заданной датой заказа, можно использовать свойство OrderDate.

  5. В третьем раскрывающемся списке выберите оператор, который необходимо использовать.

    Например, для возврата заказов на продажу, для которых значение даты заказа меньше 9/22/2009 12:00:00 AM, выберите оператор < (меньше).

  6. Добавьте значение сравнения.Для этого нажмите кнопку рядом с текстовым полем, которое появляется в конце условия фильтра, а затем нажмите одну из следующих кнопок:

    • Выберите элемент Литерал для ввода значения, которое вы будет использоваться как значение сравнения.

    • Нажмите кнопку Свойство, чтобы использовать свойство в качестве значения сравнения.

      Если выбран этот параметр, текстовое поле преобразуется в раскрывающийся список.

    • Нажмите кнопку Параметр для добавления параметра в качестве значения сравнения.

      Если выбран этот параметр, текстовое поле преобразуется в раскрывающийся список.

    ПримечаниеПримечание

    Для определенных типов полей, таких как DateTime, можно выбрать параметр Глобальный, чтобы использовать относительные значения, например Сейчас, Сегодня или Начало недели.

  7. В раскрывающемся списке или текстовом поле, которые отображаются в конце условия фильтра, выполните одно из следующих действий:

    • Если на предыдущем шаге выбран параметр Литерал, введите значение, например "9/22/2009 12:00:00 AM".

    • Если на предыдущем шаге выбран параметр Свойство, выберите или введите имя свойства.

    • Если на предыдущем шаге выбран элемент Параметр, выберите параметр.

  8. Повторите шаги со 2 по 7 для добавления нужного числа фильтров условий в запрос.

Можно задать отношение между условиями фильтра с помощью одного из следующих логических операторов: And, Or, And Not, Or Not.

Использование параметра в условии фильтра

Можно добавить параметр в условие фильтра в качестве значения для сравнения.Можно создать экраны, на которых пользователи будут вводить значение во время выполнения.Также можно предоставить это значение в качестве параметра для метода запроса, если запрос выполняется из настраиваемой бизнес-логики.

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

  1. В конструкторе запросов разверните раздел Параметр.

  2. В разделе Параметр конструктора выберите команду Добавить параметр.

    Параметр будет добавлен в раздел Параметр.В составе параметра отображаются текстовое поле и раскрывающийся список.

  3. В текстовом поле параметра укажите имя (например, SalesTerritory).

  4. В раскрывающемся списке параметра выберите тип данных параметра (например, String).

  5. В меню Вид выберите пункт Окно свойств.

  6. В окне Свойства установите или снимите флажок необязательный.

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

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

  7. В конструкторе запросов разверните раздел Фильтр.

  8. В разделе Фильтр конструктора выберите условие фильтра, нажмите кнопку в конце условия фильтра и затем выберите Параметр.

  9. В раскрывающемся списке рядом с кнопкой выберите параметр.

Можно разрешить пользователям ввод или выбор значений параметров на экране.Например, можно создать экран для просмотра списка клиентов по территории продаж.

Кроме того, можно привязать параметр к свойствам из других списков.Например, можно создать экран для просмотра списка заказов на продажу по клиенту.Сведения о том, как реализовать ввод пользователями значений параметра на экране, см. в разделе Практическое руководство. Ввод значения для параметра запроса.

Группировка условий фильтра

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

На следующем рисунке показаны две группы фильтров.

Группы фильтров в запросе

Создание группы фильтров

  1. В конструкторе запросов разверните раздел Фильтр.

  2. В разделе Фильтр конструктора наведите указатель мыши на элемент Добавить фильтр, нажмите стрелку вниз и выберите пункт Группа.

    Группа фильтров будет добавлена в раздел Фильтр.Новое условие фильтра будет добавлено в группу фильтров.

Добавление условий фильтра в группу фильтров

  • Выполните одно из следующих действий.

    • В нижней части группы фильтров нажмите кнопку Добавить фильтр.

      ПримечаниеПримечание

      В конце строки, которая отделяет группу фильтров, появится кнопка Добавить фильтр.

    • Из раздела Фильтр конструктора перетащите любые существующие условия фильтра в группу фильтров.

Добавление группы фильтров в другую группу фильтров

  • Выполните одно из следующих действий.

    • В нижней части группы фильтров выберите команду Добавить фильтр, нажмите стрелку вниз и выберите элемент Группа.

      ПримечаниеПримечание

      В конце строки, которая отделяет группу фильтров, появится кнопка Добавить фильтр.

    • Из раздела Фильтр конструктора перетащите любую существующую группу фильтров в группу фильтров.

    Дочерняя группа фильтров входит в состав родительской.

Можно задать отношение между группами фильтров и другими условиями и группами в запросе с помощью одного из следующих логических операторов: And, Or, And Not, Or Not.

Добавление условий сортировки

Чтобы указать порядок, в котором будут отображаться результаты запроса, добавьте одно или несколько условий сортировки.Условие сортировки аналогично столбцу в операторе ORDER BY традиционного языка SQL.

Сортировка результатов запроса

  1. В конструкторе запросов разверните раздел Сортировка.

  2. В разделе Сортировка конструктора выберите команду Добавить сортировку.

    Условие сортировки будет добавлено в список условий сортировки.Рядом с условием сортировки появятся два раскрывающихся списка.

  3. В первом раскрывающемся списке выберите свойство, которое требуется использовать в качестве условия сортировки.Например, для сортировки контактов по фамилии выберите свойство LastName сущности Contact.

  4. Во втором раскрывающемся списке выберите один из следующих элементов:

    1. Выберите По возрастанию для сортировки результатов от меньшего к большему.Например, фамилии, начинающиеся с буквы A, отображаются первыми.Фамилии, которые начинаются с буквы Z, отображаются последними.

    2. Выберите По убыванию для сортировки результатов от большего к меньшему.Например, фамилии, которые начинаются с буквы Z, отображаются первыми.Фамилии, начинающиеся с буквы A, отображаются последними.

  5. Повторите шаги со 2 по 4 для добавления нужного числа условий сортировки в запрос.

Условия сортировки определяют только начальный порядок строк данных, которые появляются на экране.Пользователи могут просматривать строки данных в другом порядке, выбирая соответствующие параметры на экране.

Изменение порядка условий фильтра, групп фильтров, условий сортировки и параметров

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

Изменение порядка условий фильтра и групп фильтров

  1. В конструкторе запросов разверните раздел Фильтр.

  2. В разделе Фильтр конструктора перетащите условие фильтра или группу фильтров выше или ниже по списку.

Изменение порядка условий сортировки

  1. В конструкторе запросов разверните раздел Сортировка.

  2. В разделе Сортировка конструктора перетащите условие сортировки выше или ниже по списку.

Изменение порядка сортировки условий влияет на сортировку данных в результатах запроса.Рассмотрим пример с двумя условиями сортировки, которые сортируют данные по свойствам SalesTerritory и OrderDate соответственно.В этом примере заказы сначала будут отсортированы по свойству SalesTerritory.Заказы в пределах каждой группы SalesTerritory будут сортироваться по дате.

Изменение порядка параметров

  1. В конструкторе запросов разверните раздел Параметры.

  2. В разделе Параметры конструктора перетащите параметр выше или ниже по списку.

Следующие действия

Для получения дополнительных сведений об использовании запроса на экране см. Практическое руководство. Создание экрана Silverlight.

Сведения об использовании запросов в случаях, выходящих за пределы возможностей конструктора запросов, см. в разделе Практическое руководство. Расширение запроса с помощью кода.

См. также

Задачи

Практическое руководство. Ввод значения для параметра запроса

Практическое руководство. Расширение запроса с помощью кода

Практическое руководство. Извлечение данных из запроса с помощью кода

Практическое руководство. Добавление, удаление и изменение запроса

Пошаговое руководство. Проектирование экрана

Другие ресурсы

Запросы: извлечение сведений из источника данных.