Книга: Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil
Общее описание компонент, включенных в состав FIBPIus
Общее описание компонент, включенных в состав FIBPIus
TpFIBDatabase - предназначен для подключения к базе данных, позволяет получать статистическую информацию о базе, свойствах базы данных и так далее. Основные методы: Open, Close.
TpFIBTransaction - предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRbtainine.
TpFIBDataSet - предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.
TpFIBQuery - предназначен для простого выполнения запросов, позволяет также получать данные из базы данных. В отличие от TpFIBDataSet , компонент не содержит локального буфера для хранения всех полученных записей, и не совместим с визуальными компонентами. Основные методы: Prepare, ExecOuery, Close
TpFIBStoredProc - потомок TpFIBQuery, предназначен для выполнения хранимых процедур. Не рекомендуется для вызова процедур, возвращающих данные. Фактически, компонент является удобной "оберткой" вокруг команды EXECUTE PROCEDURE.
TpFIBUpdateObject - предназначен для автоматического выполнения дополнительных модифицирующих действий совместно с TpFIBDataSet.
TDataSetContainer - предназначен для централизации обработки типичных обработчиков событий TpFIBDataSet и внутренней нотификации, что иногда позволяет сильно упростить код.
TpFIBSQLMonitor - предназачен для отслеживания всех запросов, которые выполняются при помощи компонентов FIBPIus. Позволяет также отслеживать запросы из параллельных приложений, также написанных на основе FIBPIus.
TpFIBErrorHandler - предназначен для централизованной обработки исключительных ситуаций, возникших при работе с функциями InterBase API. Позволяет обрабатывать потерю подключения к базе данных, инициализацию пользовательских исключений в самой базе данных.
SuperlBAlerter - предназначен для регистрации и получения событий (event alerters) InterBase.
TIBConfigService - предназначен для настройки параметров базы данных.
TIBBackupService предназначен для создания резервных копий (backup) баз данных.
TpFIBRestoreService - предназначен для восстановления базы данных из резервной копии.
TpFIBValidationService - предназначен для проверки целостности базы данных и согласования внутренних данных о транзакциях.
TpFIB Statistical Service - предназначен для получения статистики о базе данных.
TpFIBLogService - предназначен для создания и просмотра лог-файла работы сервера.
TpFIBSecurityService - предназначен для редактирования списка пользователей на сервере.
TpFIBLicensingService - предназначен для добавления и удаления сертификатов, регулирующих количество и свойства клиентских подключений к серверу InterBase.
TpFIBServerProperties - предназначен для получения информации о сервере, параметров конфигурации и так далее.
TpFIBInstall предназначен для установки компонента InterBase installation.
TpFIBUnlnstall - предназначен для установки компонента InterBase un- installation.
Использование основных компонентов FIBPIus
В процессе более подробного рассмотрения вопросов использования компонентов FIBPIus мы постараемся создать очень простое приложение, которое будет предназначено для редактирования некоторого достаточно абстрактного прайс-листа. Этот пример позволит рассмотреть все основные аспекты работы с FIBPIus, с которыми так или иначе сталкивается практически каждый прикладной разработчик.
Наше приложение должно позволять редактировать категории товаров, список товаров для каждой категории и печатать прайс-лист. Нам понадобятся две таблицы: для категорий товаров и для списка товаров:
CREATE TABLE "Categories" (
"Id" INTEGER NOT NULL,
"Name" VARCHAR (50) character set WIN1251 collate PXW_CYRL,
"GoodsCount" INTEGER);
/* Unique keys definition */
ALTER TABLE "Categories" ADD CONSTRAINT "PK_Categories" PRIMARY
KEY ("Id");
SET TERM ^ ;
/* Trigger: "AI_Categories_Id" */
CREATE TRIGGER "AI_Categories_Id" FOR "Categories" ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW."Id" IS NULL) THEN
NEW."Id" = GEN_ID("Categories_Id_GEN", 1);
END
^
SET TERM ; ^
CREATE TABLE "Goods" (
"Id" INTEGER NOT NULL,
"Name" VARCHAR (150) character set WIN1251 collate
PXW_CYRL,
"Price" DOUBLE PRECISION,
"IdCategory" INTEGER NOT NULL);
/* Unique keys definition */
ALTER TABLE "Goods" ADD CONSTRAINT "PK_Goods" PRIMARY KEY
("Id");
/* Foreign keys definition */
ALTER TABLE "Goods" ADD CONSTRAINT FK_GOODS FOREIGN KEY
("IdCategory") REFERENCES "Categories" ("Id") ON DELETE CASCADE
ON UPDATE CASCADE;
SET TERM ^ ;
/* Trigger: "AI_Goods_Id" */
CREATE TRIGGER "AI_Goods_Id" FOR "Goods" ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW."Id" IS NULL) THEN
NEW."Id" = GEN_ID("Goods_Id_GEN", 1);
END
^
Очевидна связь master-detail между таблицами "Categories" и "Goods".
Обратите внимание, что мы с самого начала и в дальнейшем будем использовать особенности SQLDialect 3, который доступен в InterBase начиная с версии 6.0
Для печати прайс-листа мы будем использовать генератор отчетов FastReport f (http://www.fastreport.ru).
- Подключение к базе данных, выполнение простых запросов
- Управление транзакциями
- Использование стандартных визуальных db-компонентов совместно с FIBPIus
- Как сделать запрос редактируемым? Автоматическая генерация модифицирующих запросов в design-time и run-time
- Правильный способ использования auto-increment полей в FIBPIus
- Разделенные транзакции: уникальная возможность избежать Deadlock. Режим AutoCommit
- Минимальный состав сервера InterBase SuperServer
- 5.4. РЕКОМЕНДАЦИИ НАЧИНАЮЩИМ ПО СОСТАВЛЕНИЮ ОПИСАНИЙ АЛГОРИТМОВ И ЭВРОРИТМОВ
- 6.7. Формирование составных целевых утверждений
- 11.4. Информационная безопасность и ее основные компоненты
- 2.2. Классификация банковских рисков и их компонентов
- Scrum-команда: состав
- Переименование компонентов
- Часть I Компоненты персонального компьютера
- Алгоритм составления эффективных рекламных сообщений
- Описание работы МП
- Описание разъемов МП
- Описание программы настройки BIOS