Помимо установки свойства Active = true компонент TQuerу имеет 2-ва метода Open и ExecSQL для выполнения запроса во время выполнения программы.
Метод Open используется для активизации запроса, возвращающего НД, то есть для активизации запроса SELECT. Например, для запроса quNakls, расположенного в модуле DM, получим:
DM.quNakls.Open;
а для запроса quNakls, расположенного на главной форме fmNakls, получим:
quNakls.Open;
Метод ExecSQL используется для активизации запросов, не возвращающих данные, то есть для активизации запросов CREATE, INSERT, DELETE, UPDATE, DROP и т.п.
Следует подчеркнуть:
ü при любом изменении свойств компонента-запроса, в том числе при занесении в свойство SQL нового запроса, он автоматически переходит в неактивное состояние (его свойство Active получает значение False). Для выполнения введенного запроса компонент следует открыть заново, то есть выполнить метод Open или ExecSQL, либо установить Active = True.
ü синтаксис SQL-операторов проверяется только при их выполнении методом Open или ExecSQL или при установке свойства Active = true.
Примечание 1. Размещение компонент работы с БД в отдельном модуле данных является рациональным во многих отношениях. Однако компонент TQuery можно размещать на форме, к которой он относится. При этом в свойстве DatabaseName компонента-запроса необходимо указывать не локальный псевдоним БД в программе - BiblData, а псевдоним БД в BDE – BiblDataMdb.
Примечание 2. Последующие примеры выполнены из расчета использования СУБД Access. При использовании другой СУБД возможны некоторые отличия. Так для СУБД PostgreSQL требуется имена таблиц и полей заключать в двойные кавычки.