Иллюстрированный самоучитель по Delphi 7 для начинающих

Выбор информации из базы данных

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

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

Для выборки из базы данных записей, удовлетворяющих некоторому критерию, предназначен компонент Query (рис. 17.17).

Иллюстрированный самоучитель по Delphi 7 для начинающих › Базы данных › Выбор информации из базы данных
Рис. 17.17. Значок компонента Query

Компонент Query похож на компонент Table, но, в отличие от последнего, он представляет не всю базу данных (все записи), а только ее часть – записи, удовлетворяющие критерию запроса.

В табл. 17.18 перечислены некоторые свойства компонента Query.

Таблица 17.18. Свойства компонента Query.

Свойство Определяет
Name Имя компонента. Используется компонентом Datasource для связи результата выполнения запроса (набора записей) с компонентом, обеспечивающим просмотр записей, например DBGrid
SQL Записанный на языке SQL запрос к базе данных (к таблице)
Active При присвоении свойству значения True активизирует выполнение запроса

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

В общем виде запрос на выборку из таблицы данных выглядит так:

SELECT Список-Полей FROM Таблица WHERE (Критерий) ORDER BY СписокПолей

Где:

  • SELECT – команда выбора записей из таблицы и вывода содержимого полей, имена которых указаны в списке;
  • FROM – параметр команды, который определяет имя таблицы, из которой нужно сделать выборку;
  • WHERE – параметр, который задает критерий выбора. В простейшем случае критерий – это инструкция проверки содержимого поля;
  • ORDER BY – параметр, который задает условие, в соответствии с которым будут упорядочены записи, удовлетворяющие критерию запроса.

Например, запрос:

SELECT Fam, Name FROM ':Школа:school.db' WHERE
(Class = '10a') ORDER BY Name, Fam

Обеспечивает выборку из базы данных "Школа" (из таблицы School.db) записей, у которых в поле class находится текст 10а, т. е. формирует упорядоченный по алфавиту список учеников 10-а класса.

Другой пример. Запрос:

<strong>SELECT</strong> Fam, Name FROM ":Школа:school.db" <strong>WHERE</strong>
(Fam > 'K') <strong>and</strong> (Fam < 'Л') ORDER BY Name, Fam

Обеспечивает выбор информации об учениках, фамилии которых начинаются на букву К.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.