SQL ЗАПРОСЫ К БД

Характерной особенностью компонента TQuery (запрос) является использование в нем языка SQL. С помощью этого языка программист составляет SQL-запрос, который помещается в предназначенное для этого свойство SQL компонента TQuery.

После активизации свойства Active = True либо вызова методов Open или ExecSQL компонента TQuery этот запрос передается машине баз данных BDE, которая имеет встроенный интерпретатор SQL, позволяющий ей выполнять описанные в запросе действия.

Если запрос требует получения из БД нужных сведений (запрос SELECT), сформированные с помощью BDE данные помещаются в локальную таблицу в виде временного файла в каталоге запуска программы, и компонент TQuery становится владельцем этой таблицы.

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

Для изменения хранящейся в БД информации формируются специальные запросы (INSERT, UPDATE, DELETE и т.д.). В этом случае BDE не формирует новые и никак не использует ранее созданные временные таблицы, но лишь интерпретирует запрос и уведомляет программу о том, насколько успешно прошло его выполнение. Таким образом, необходимость программного изменения запроса в случае модификации НД является другим характерным отличием компонентов TQuery от TTable.