Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
24 вопр с учебн.docx
Скачиваний:
10
Добавлен:
31.08.2019
Размер:
40.07 Кб
Скачать

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 не рекомендуется.