Компонент TIBTable реализует все возможности стандартного компонента, инкапсулирующего таблицу (см. гл. 12). Дополнительно к ним можно обратить внимание на несколько полезных свойств и методов.

При выборе таблицы (СЮЙСТВО TableName) СВОЙСТВО type

TIBTableType = (ttSystem, ttview);
TIBTableTypes = set of TIBTableType;
property TableTypes: TIBTableTypes;

определяет, какие таблицы доступны для выбора:

□ ttSystem - доступны системные таблицы и просмотры;

□ ttview - доступны определенные пользователем просмотры.

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

property Defaultlndex: Boolean;

При значении True записи располагаются в порядке, определяемом первичным индексом таблицы БД.

Во время выполнения свойство

property Exists: Boolean;

позволяет определить, существует ли в базе данных таблица, имя которой определено СВОЙСТВОМ TableName.

Метод

procedure GotoCurrent (Table: TIBTable);

синхронизирует курсоры текущего набора данных и набора данных компонента, заданного параметром Table.

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

Компонент TIBQuery

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

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

property SQL: TStrings;

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

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

property Text: string;

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

property Params: TParams;

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

property PararrCount: Word;

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

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

property GeneratorField: TIBGeneratorField;

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

Программирование в Delphi 7

Рис. 18.2. РедакторCBOkicTBaGeneratorFieldKOMnoHeHTaTiBQuery

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

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

□ On New Record - при создании новой записи;
□ On Post - при сохранении новой записи;

□ On Server - генератор управляется сервером.

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

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


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс