Delphi для профессионалов



 

Компонент TIBQuery


Компонент TIBQuery выполняет все стандартные функции компонента запроса и наследует возможности класса TiBCustomDataSet.

Как и у остальных компонентов запросов, свойство

property SQL: TStrings;

содержит текст запроса и позволяет редактировать его. С этим свойством связан специализированный редактор (рис. 18.2).

Для просмотра текста запроса можно использовать свойство

property Text: string;

Параметры запроса хранятся в стандартном свойстве

property Params: TParams;

Общее число параметров запроса возвращает свойство

property ParamCount: Word;

При создании новых записей в редактируемых наборах данных компонентов запросов возникает проблема присвоения значений полям первичных индексов. Очевидно, что при сохранении новой записи в базе данных поле первичного индекса будет инкрементировано средствами сервера InterBase (соответствующими генератором и триггером). Однако получить это значение в приложении можно только сохранив изменения и обновив набор данных, что зачастую требует больших затрат ресурсов.

Для решения этой проблемы в компоненте TiBQuery используется свойство

property GeneratorField: TIBGeneratorField;

Редактор свойства (рис. 18.2) позволяет связать генератор с инкрементируемым полем.

Рис. 18.2. Редактор свойства GeneratorField компонента TiBQuery

Список Generator позволяет выбрать один из доступных генераторов базы данных. Список Field задает инкрементируемое поле набора данных. В строке Increment By определяется шаг прибавляемого значения поля.

Группа радиокнопок Apply Event определяет событие, при котором срабатывает генератор:

  •  On New Record — при создании новой записи;
  •  On Post — при сохранении новой записи;
  •  On Server — генератор управляется сервером.

Редактор свойства GeneratorField попросту присваивает значения полям экземпляра класса TIBGeneratorField.

Методы-обработчики событий полностью соответствуют классу TiBCustom-DataSet (см. табл. 18.2).