Пользовательский интерфейс текстового конструктора запросов (построитель отчетов 3.0)

Текстовый конструктор запросов предназначен для задания запроса с помощью языка запросов, поддерживаемого источником данных, выполнения запроса и просмотра результатов во время разработки. Можно указать несколько инструкций, запросов или команд языка Transact-SQL для создания собственных модулей обработки данных, а также указать запросы, заданные как выражения. Поскольку текстовый конструктор запросов не выполняет предварительную обработку запроса и позволяет использовать любой синтаксис запросов, он представляет собой стандартное средство конструктора запросов для источников данных многих типов.

Примечание по безопасностиПримечание по безопасности

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

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

  • **Запрос **Показывает текст запроса, имя таблицы или имя хранимой процедуры, в зависимости от типа запроса. Не все типы запросов поддерживаются всеми типами источников данных. Например, имя таблицы поддерживается только для типа источника данных OLE DB.

  • **Результат **Показывает результаты выполнения запроса во время разработки.

Панель инструментов текстового конструктора запросов

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

Кнопка

Описание

Редактировать как текст

Переключение между текстовым конструктором запросов и графическим конструктором запросов. Не все источники данных поддерживают графические конструкторы запросов.

Импортировать

Импорт существующего запроса из файла или отчета. Поддерживаются только SQL-файлы и RDL-файлы.

Выполнение запроса

Выполнить запрос и показать результирующий набор в панели результатов.

Тип команды

Выберите Text, StoredProcedure или TableDirect. Если хранимая процедура имеет параметры, при нажатии на панели инструментов кнопки Выполнить появится диалоговое окно Определение параметров запроса, в котором можно ввести значения параметров.

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

Тип команды Text

При создании набора данных SQL Server конструктор реляционных запросов открывается по умолчанию. Чтобы переключиться в текстовый конструктор запросов, нажмите кнопку переключателя Редактировать как текст на панели инструментов. Текстовый конструктор запросов содержит две панели: панель запросов и панель результатов. На следующем рисунке показана каждая панель.

Обычный конструктор запросов для запросов к реляционным данным

В следующей таблице описываются функции каждой панели.

Панель

Функция

Запрос

Отображает текст запроса Transact-SQL. Используйте эту панель, чтобы написать или изменить запрос Transact-SQL.

Результат

Отображает результаты запроса. Чтобы выполнить запрос, щелкните правой кнопкой мыши любую область и выберите команду Выполнить либо нажмите кнопку Выполнить на панели инструментов.

Пример

Следующий запрос возвращает список фамилий из таблицы ContactType схемы Person базы данных База данных AdventureWorks2008R22008:

SELECT Name FROM Person.ContactType

При нажатии кнопки Выполнить на панели инструментов выполняется команда в области Запрос, а результаты выводятся в области Результат. Результирующий набор отображает список из 20 типов контактов, например владельца или агента по продажам.

Тип команды StoredProcedure

При выборе типа команды StoredProcedure текстовый конструктор запросов предоставляет две панели: панель запросов и панель результатов. Введите имя хранимой процедуры в области «Запрос» и нажмите кнопку Выполнить на панели инструментов. Если хранимые процедуры используют параметры, откроется диалоговое окно Определение параметров запроса. Введите значения параметров для хранимой процедуры. Параметр отчета создается для каждого входного параметра хранимой процедуры.

На следующем рисунке показаны области «Запрос» и «Результаты» при выполнении хранимой процедуры. В данном случае входные параметры являются константами.

Хранимая процедура в конструкторе запросов на основе текста

В следующей таблице описываются функции каждой панели.

Панель

Функция

Запрос

Отображает имя хранимой процедуры и все входные параметры.

Результат

Отображает результаты запроса. Чтобы выполнить запрос, щелкните правой кнопкой мыши любую область и выберите команду Выполнить либо нажмите кнопку Выполнить на панели инструментов.

Пример

В следующем запросе в базе данных База данных AdventureWorks2008R22008 вызывается хранимая процедура uspGetWhereUsedProductID. При запуске этого запроса необходимо задать значение параметра с идентификационным номером продукта.

uspGetWhereUsedProductID

Нажмите кнопку Выполнить (!). При получении запроса на ввод параметров введите значения из следующей таблицы.

@StartProductID

820

@CheckDate

20010115

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

Тип команды TableDirect

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

Примеры

Для типа источника данных OLE DB, следующий запрос к набору данных возвращает результирующий набор для всех типов контакта в базе данных База данных AdventureWorks2008R22008.

Person.ContactType

Ввод имени таблицы Person.ContactType эквивалентен созданию на языке Transact-SQL инструкции SELECT * FROM Person.ContactType.