Чтение онлайн

на главную - закладки

Жанры

Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil

Востриков С М

Шрифт:

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 .

Подключение к базе данных, выполнение простых запросов

Рассмотрим с самого начала создание приложения, при помощи которого мы сможем редактировать прайс-лист. Необходимо поместить на форме основной компонент, который позволяет подключаться к базе данных InterBase (TpFIBDatabase) и вызвать редактор этого компонента (рис. 2.14 и 2.15).

Рис 2.14. Вызов редактора TpFIBDataBase

Рис 2.15. Bug редактора компонента TpFIBDataBase

Для подключения к базе как минимум необходимо указать путь (в данном примере это путь к локальному файлу), имя пользователя и пароль. Вы можете проверить правильность заданных параметров, нажав на кнопку Test. Мы также можем задать параметры подключения к базе в run-time, получив путь к базе данных из ini-файла:

procedure TMainForm.FormCreate(Sender: TObject);

begin

with TiniFile.Create('ib_price.ini') do begin

pFIBDatabasel.DBName := ReadString('Options', 'DBPath',

'C:\IBPRICE.GDB');

Free ;

end;

pFIBDatabasel.Open;

end;

Компонент TpFIBDatabase можно также использовать для выполнения запросов к базе данных, которые не возвращают в результате набора данных. Для этого существуют такие методы:

function Execute(const SQL: string): boolean;

function QueryValue(const aSQL: string;

FieldNo:integer):Variant;

Поделиться:
Популярные книги

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Вечная Война. Книга V

Винокуров Юрий
5. Вечная Война
Фантастика:
юмористическая фантастика
космическая фантастика
7.29
рейтинг книги
Вечная Война. Книга V

Генерал Скала и сиротка

Суббота Светлана
1. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Генерал Скала и сиротка

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Студент

Гуров Валерий Александрович
1. Студент
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Студент

Наизнанку

Юнина Наталья
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Наизнанку

Кодекс Охотника. Книга XVII

Винокуров Юрий
17. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XVII

Кукловод

Злобин Михаил
2. О чем молчат могилы
Фантастика:
боевая фантастика
8.50
рейтинг книги
Кукловод

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Восход. Солнцев. Книга IV

Скабер Артемий
4. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга IV

Я снова граф. Книга XI

Дрейк Сириус
11. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я снова граф. Книга XI

Егерь

Астахов Евгений Евгеньевич
1. Сопряжение
Фантастика:
боевая фантастика
попаданцы
рпг
7.00
рейтинг книги
Егерь

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16