Краткие теоретические сведения. Написание и выполнение запросов над таблицами БД без создания приложений осуществляется при помощи программного компонента Database Explorer (команда Explorer

Написание и выполнение запросов над таблицами БД без создания приложений осуществляется при помощи программного компонента Database Explorer (команда Explorer меню Database в DELPHI/LAZARUS/LAZARUS). Для доступа к таблицам БД необходимо создать алиас (псевдоним) вашей БД. При работе с таблицами локальных БД базой данных считается каталог на диске, в котором хранятся файлы таблиц, индексов и т.п. Обращение к этим файлам из утилит и программ осуществляется при помощи алиасов.

Необходимо воспользоваться командой New… в меню Object, а в списке Database Driver Name оставить тип создаваемой БД без изменений (STANDARD). В левом разделе окна SQL Explorer при этом будет добавлен алиас по умолчанию STANDARD1, который можно переименовать. Затем в правом разделе окна на станице с закладкой Definition необходимо установить свойство PATH в путь каталогу с Вашей БД и сохранить созданный алиас (команда Apply в меню Object).

После сохранения алиаса к перечню страниц в правом разделе окна добавится страница с закладкой

Для выяснения перечня таблиц Вашей БД и их полей необходимо распахнуть щелчком мышью на узелке алиаса его содержимое и установить курсор на подраздела Tables. На странице Summary при этом будет представлен перечень таблиц. Если же распахнуть аналогичным образом содержимое подраздела Tables Вашего алиаса, установить курсор на интересующей Вас таблице из БД, то при этом к перечню страниц в правом разделе окна добавится страница с закладкой Data, содержащая табличную форму Вашей таблицы, которая может быть использована для редактирования содержимого отдельных записей. Кроме того, будет добавлена Definition с перечнем свойств таблицы. Установив курсор на подразделе Fields подраздела Tables, можно получить на странице Summary перечень полей выбранной таблицы.

Компонент TQuery предназначен для:

- работы с набором данных (НД), источником для которого могут служить записи как одной, так и нескольких таблиц;

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

Результирующий НД компонента TQuery формируется путем запроса к БД на языке SQL (Structured Query Language, язык структурированных запросов). Текст любого запроса хранится в свойстве SQL компонента TQuery.

Статический запрос. Описывающий его SQL-оператор не изменяется в процессе выполнения приложения.

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

Формируемый запрос. Описывающий его SQL-оператор создается в процессе выполнения приложения путем построчного заполнения свойства SQL, которое имеет тип данных TStrings, т.е. представляет из себя экземпляр динамического строкового списка. В этом случае один компонент TQuery может быть использован для выполнения нескольких различных запросов.

Соединение компонента TQuery с базой данных, для которой будет выполняться запрос, указанный в свойстве SQL, осуществляется при помощи его же свойства DatabaseName, в котором указывается либо зарегистрированный алиас, либо путь к каталогу с БД.

Связь компонента TQuery с визуальными компонентами (например, TDBGrid) для отображения результатов запроса осуществляется, как и с набором данных TTable - через компонент TDataSource.

Выполнение запроса, построенного с использованием оператора SELECT, осуществляется путем присвоения свойству Active значения True, или путем вызова метода Open. Выполнение запроса, построенного с использованием операторов INSERT, UPDATE, DELETE осуществляется путем вызова метода ExecSQL.

В DELPHI/LAZARUS/LAZARUS присуствует возможность некоторой автоматизации построения текста запроса - утилита Visual Query Builder, который вызывается из контекстно-зависимого меню (команда Query Builder…) при щелчке правой кнопкой мыши на компоненте TQuery, однако эта утилита неудобна и мало функциональна.

Написание и тестирование сложных запросов рекомендуется проводить при помощи программного компонента Database Explorer (команда Explorer меню Database в DELPHI/LAZARUS/LAZARUS), а затем копировать текст запроса в приложение.

Текст запроса с использованием оператора SELECT состоит из следующих составных частей:

SELECT <что выводится>

FROM <откуда (источник)>

WHERE <условие связи таблиц и /или условие отбора записей в выборку>

ORDER BY <порядок вывода данных>

GROUP BY <колонки, по которым выполняется группирование>

HAVING <условие группирования записей в одну строку>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: