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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. В третьем раскрывающемся списке выберите требуемый оператор.

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

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

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

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

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

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

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

    Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Примечание

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

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

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

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

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

      Примечание

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

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

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

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

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

Чтобы указать порядок, в котором будут отображаться результаты запроса, добавьте одно или несколько условий сортировки. Условие сортировки аналогично столбцу в операторе 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.

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

См. также

Задачи

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

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

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

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

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

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

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