Проверим работу запроса в СУБД Access, а затем получим текст этого запроса на языке SQL. Процесс перехода в режим SQL показан на рис. 49.
Скопируем текст запроса в правую часть оператора присваивания переменной s процедуры, приведенной на рис. 47. При этом в SQL-запросе выражение, заключенное в квадратные скобки, надо заменить переменной s1 с соблюдением правил записи строк в языке Паскаль. Длинную строку заменим конкатенацией нескольких строк с использованием оператора «+». Обратите внимание, что служебные слова языка SQL выделяются пробелами. Окончательный текст процедуры реализации искомого запроса приведен на рис. 50.
Запустим проект на выполнение и проверим работу процедуры. Пример ее выполнения приведен на рис. 51.
Рисунок 51 – Пример выполнения процедуры, реализующей запрос на выборку с параметром
4. Создание процедуры для выполнения перекрестного запроса. Результатом перекрестного запроса является таблица, строки и столбцы которой соответствуют разным значениям некоторых полей исходных таблиц. В качестве примера создадим перекрестный запрос для получения таблицы, строки которой соответствуют наименованиям клиентов, а столбцы – номерам заказов. В каждой ячейке таблицы должна находиться общая стоимость заказа для клиента.
Поместим на страницу TabSheet3 компонент ADOQuery2 и установим значение ADOConnection1 для свойства Connection.
Перенесем на форму и настроим компонент DataSource6, для свойства DataSet которого установим значение ADOQuery2.
Для представления результата выполнения запроса в виде таблицы поместим на страницу TabSheet3 компонент DBGrid6. Установим значение DataSource6 свойства DataSource этого компонента.
Поместим на страницу TabSheet3 компонент DBNavigator6, который предназначен для перемещения по записям набора данных. Связь с набором данных устанавливается значением DataSource6 свойства DataSource этого компонента.
Поместим на страницу TabSheet3 командную кнопку Button2, для свойства Caption которой установим значение Заказы-Клиенты-Стоимость. Структура процедуры Button2Click аналогична той, что приведена на рис. 47. Отличие состоит в том, что здесь не нужна строка s1, т. к. в рассматриваемом запросе отсутствует параметр. Структура процедуры Button2Click приведена на рис. 52.
Рисунок 53 – Перекрестный запрос в режиме конструктора
Этот же запрос в режиме SQL приведен на рис. 54.
Скопируем текст запроса в правую часть оператора присваивания переменной s процедуры, приведенной на рис. 52. Длинную строку заменим конкатенацией нескольких строк с использованием оператора «+». Окончательный текст процедуры реализации перекрестного
Рисунок 55 – Текст процедуры, реализующей перекрестный запрос
Рисунок 56 – Результат выполнения процедуры для перекрестного запроса
5. Создание процедуры для выполнения запроса на обновление. Запрос на обновление относится к активным запросам, т. е. запросам, изменяющим таблицы БД. Создадим процедуру, реализующую запрос, увеличивающий все цены на заданную процентную величину.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.