5 Глава 15. Технология InterBase Express
Стандартные компоненты доступа к данным подключаются к БД через компонент соединения iBDataBase с помощью своего свойства Database типа TIBDatabase.
Тип записей набора данных, для которых применима операция кэширования, определяет свойство DpdateRecordTypes типа TIBDpdateRecordTypes, который описан так:
type TIBDpdateRecordTypes = set of (cusModified, cuslnserted, cusDeleted,
cusUnmodified, cusUninserted);
Здесь:
cusModif ied — измененные записи;
cuslnserted — добавленные записи;
cusDeleted — удаленные записи;
cusUnmodif ied — неизмененные записи;
cusUninserted — недобавленные записи.
Свойство ForcedRefresh типа Boolean определяет, будет ли выполняться обновление набора данных при каждом сохранении внесенных изменений. Для ускорения работы приложения рекомендуется задать этому свойству значение False (действует по умолчанию). Чтобы обновление набора данных происходило как можно чаще, следует этому свойству задать значение True.
Генераторы
для автоинкрементных полей
У ряда компонентов доступа к данным, реализующим запросы (например, iBQuery и IBDataSet), свойство GeneratorField типа TIBGeneratorField позволяет присваивать значения первичным ключам набора данных с помощью генератора, назначаемого с использованием редактора названного свойства.
С помощью этого свойства можно обеспечить автоматическое задание значения одного из автоинкрементных полей, указав при этом, какое поле должно получать значение и как вычисляться (шаг изменения и событие: вставка записи, сохранение записи, по команде сервера). Для задания рассматриваемого свойства используется редактор (рис. 15.3), вызываемый двойным щелчком мыши в строке свойства в окне Инспектора объектов.
В окне редактора следует выбрать название генератора, имя автоинкрементного поля в таблице, для которого будут генерироваться значения, и шаг увеличения счетчика (обычно 1). Кроме того, нужно выбрать вариант события, при наступлении которого будет происходить генерация значения поля: On New Record (при вставке новой записи), On Post (при сохранении записи) и On Server (по команде сервера с помощью триггера).
IBDataSetl GeneratorFielcJ
Generator |EMP_N0_GEN Field |DEPT_N0| Increment By |l
"Apply Event— On New Record г On Post С On Server
|
OK |
Cancel | |
|
|
Рис. 15.3. Окно редактора свойства GeneratorField
Доступ к таблицам
Для доступа к таблицам по технологии InterBase Express служит компонент iBTable. Рассмотрим кратко отличительные свойства этого компонента.
Размер буфера по числу записей определяет свойство BufferChunks типа Integer.
Тип отношений, доступных в дополнение к пользовательским таблицам при выборе в раскрывающемся списке с помощью свойства TableName, определяет свойство TableTypes типа TlBTableTypes. Оно может принимать следующие значения:
ttsystem — доступны системные таблицы и представления;
ttview — доступны пользовательские представления.
Существует ли в БД таблица, указанная с помощью свойства TableName, определяет свойство Exists типа Boolean. Это свойство рекомендуется проверять перед открытием таблицы при выполнении приложения.
При использовании компонента IBTable указывается только имя таблицы с помощью свойства TableName. При этом автоматически формируется запрос на выборку всей таблицы со всеми полями. Если в таблице имеется очень много записей, то после выполнения такого запроса на сервер может лечь чрезмерно большая нагрузка. К примеру, при выполнении операций поиска нужной записи. Поэтому в крупных программных приложениях БД использование компонента IBTable не рекомендуется.