M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Компонент 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).