Базы данных Visual Foxpro

Продвижение интернет-магазинов эффективное Продвижение.


 

ГЛАВА 9
Запросы к базе данных

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

Например, вам необходимо выбрать из таблиц информацию о клиентах, проживающих в Москве и Московской области, или сформировать список клиентов, купивших в последний месяц товаров на сумму свыше 5000 рублей, и упорядочить их в алфавитном порядке по полю, содержащему фамилии клиентов. Для решения таких задач предназначен конструктор запросов и команда SELECT языка Visual FoxPro.

С помощью конструктора запросов Visual FoxPro вы можете формировать различной сложности критерии для выбора записей из одной или нескольких таблиц, указывая при этом, какие поля должны быть отображены в запросе. Над полями, выбираемыми из таблиц с помощью запросов, можно выполнять различные вычисления.

gl9-1.jpg

Рис. 9.1. Ввод условия выборки в мастере запросов

Результатом запроса является таблица, которую вы можете сохранить в массиве, в создаваемой новой таблице, отобразить на экране в режиме Browse (Просмотр) или вывести в виде отчета.  

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

  Конструктор запросов

Для создания запроса в окне конструктора запросов выполните следующие действия:

  1. На вкладке Data (Данные) конструктора проекта выберите группу Queries (Запросы).
  2. Нажмите кнопку New (Новый).
  3. В открывшемся диалоговом окне New Query (Новый запрос) нажмите кнопку New Query (Новый запрос). Открывается диалоговое окно выбора таблиц Add Table or View (Добавить таблицу или представление данных).
  4. В этом диалоговом окне выберите таблицы, данные из которых хотите использовать в запросе, и с помощью кнопки Add (Добавить) перенесите их в окно конструктора запросов.
  5. Завершив выбор таблиц, нажмите кнопку Close (Закрыть).

На экране появляется окно конструктора запросов (рис. 9.2), которое содержит названия выбранных таблиц, а в основном меню появляется пункт Query (Запрос). Можно приступать к формированию условий запроса.

Совет

Для открытия ранее созданного запроса в окне конструктора запросов на вкладке Data (Данные) окна проекта в группе Queries (Запросы) найдите модифицируемый запрос, установите на него курсор и нажмите кнопку Modify (Модифицировать).

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

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

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

gl9-2.jpg

Рис. 9.2. Окно конструктора запросов с выбранной таблицей клиентов

Таблица 9.1. Назначение вкладок окна конструктора запросов

Вкладка Назначение
Fields (Поля) Позволяет указать поля исходных таблиц, выбираемые в результирующий запрос
Join (Объединение) Позволяет задать условия объединения таблиц
Filter (Фильтр) Позволяет определить фильтры, накладываемые для выбора записей
Order By (Упорядочение) Позволяет задать критерии упорядочения данных
Group By (Группировка) Позволяет задать условия группировки данных
Miscellaneous (Разное) Позволяет задать дополнительные условия, такие как признак выборки повторяющихся значений, количество или процент выбора данных

 

Начало Вперед