От авторов

Часть 1. Общие принципы разработки приложений
баз данных в среде Delphi 5

Глава 1. Введение в базы данных
1.1. Терминология
1.2. Первичные ключи и индексы
1.3. Реляционные отношения между таблицами
1.3.1. Отношение один-ко-многим
1.3.2. Отношение один-к-одному
1.3.3. Отношение многие-ко-многим
1.3.4. Связи между записями одной
таблицы
1.4. Ссылочная целостность
1.5. Индексы
1.6. Нормализация таблиц при проектировании
базы данных
1.6.1. Первая нормальная форма
1.6.2. Вторая нормальная форма
1.6.3. Третья нормальная форма
1.6.4. Нормализация - за и против
1.7. Понятие транзакции
1.8. Терминология распределенных СУБД
1.8.1. Технология СОМ
1.8.2. Технология CORBA
1.8.3. СОМ или CORBA?

Глава 2. Неформальное знакомство с
программированием БД
2.1. Постановка задачи
2.2. Создание псевдонима базы данных
2.3. Создание таблиц базы данных
2.3.1. Объявление полей
2.3.2. Изменение языкового драйвера
2.3.3. Запоминание таблицы
2.3.4. Определение индексов
2.3.5. Определение ссылочной целостности
между таблицами
2.4. Создание простейшего приложения
2.5. Создание приложения для работы с двумя
таблицами
2.6. Настройка полей и смена активного
индекса
2.7. Определение визуальных компонентов для
работы с полями
2.8. Формирование набора данных из
нескольких таблиц

Глава 3. Средства Delphi
3.1. Общий обзор средств
3.2. Особенности программ для работы с БД
3.3. Поддерживаемые в Delphi типы БД
3.3.1. Локальные и файл-серверные БД
3.3.2. Клиент-серверные БД
3.3.3. Архитектура с сервером приложений

Глава 4. Обзор компонентов для работы с
базами данных
4.1. Некоторые важные классы
4.2. Невизуальные компоненты
4.2.1. Страница Data Access
4.2.2. Страница MIDAS
4.2.3. Страница ADO
4.2.4. Страница InterBase
4.2.5. Страница Decision Cube
4.3. Визуальные компоненты
4.3.1. Страница Data Controls
4.3.2. Страница QReport
4.3.3. Страница Decision Cube
4.4. Модули данных
4.5. Иерархия классов для представления
данных и доступа к ним

Глава 5. Работа с полями
5.1. Обзор свойств, методов и событий
5.1.1. Свойства
5.1.2. Методы
5.1.3. События
5.2. Использование объектов-полей
5.3. Типы полей
5.4. Обращение к значению поля
5.5. Проверка правильности введенного в
поле значения
5.6. Формирование текстового представления
поля
5.7. Создание вычисляемых полей
5.8. Создание полей выбора данных
(lookup-полей)
5.8.1. Поля выбора данных,
5.8.2. Использование полей выбора
5.9. Обзор полей TxxxField
5.9.1. Строковые поля
5.9.2. Целочисленные поля
5.9.3. Вещественные поля
5.9.4. Логические поля
5.9.5. Поля даты и времени
5.9.6. Поля для хранения значений
произвольных форматов

Глава 6. Работа с наборами данных
6.1. Обзор свойств, методов и событий
6.1.1. Свойства
6.1.2. Методы
6.1.3. События
6.2. Основные приемы работы с НД
6.2.1. Открытие и закрытие НД
6.2.2. Программный доступ к записям
6.3. Навигация по набору данных
6.3.1. Общие положения
6.3.2. Порядок следования записей
6.3.3. Последовательная навигация по
записям
6.3.4. Использование закладок
6.4. Поиск записей в наборах данных
6.4.1. Метод Locate
6.4.2. Метод Lookup
6.5. Фильтрация записей
6.5.1. Свойство Filter
6.5.2. Событие OnFilterRecord
6.5.3. Навигация в неотфильтрованном нд
между записями, удовлетворяющими фильтру
6.6. Получение информации о полях
6.6.1. Свойство FieldDefs
6.6.2. Свойства FieldCount и Fields
6.6.3. Свойство DefaultFields и метод
ClearFields
6.6.4. Способы обращения к полям набора
данных
6.7. Блокировка таблиц в
многопользовательском режиме
6.8. Синхронизация содержимого наборов
данных
6.8.1. Синхронизация содержимого наборов
данных в одном приложении
6.8.2. Синхронизация содержимого наборов
данных в разных приложениях
6.9. Обработка ошибок смены состояния
набора данных
6.10. Ограничения на значения полей

Глава 7. Работа с компонентом TTable
7.1. Обзор свойств и методов
7.1.1. Свойства
7.1.2. Методы
7.2. Работа с индексами
7.2.1. Получение информации об индексах
7.2.2. Установка текущего индекса
7.2.3. Добавление нового индекса
7.2.4. Удаление существующего индекса
7.2.5. О составных индексах
7.3. Исключительный доступ к НД
7.3.1. Установка приоритетного доступа в
многопользовательском режиме
7.3.2. Удаление записей и таблиц
7.3.3. Создание новой таблицы
7.4. Поиск записей в НД
7.4.1. Обзор методов
7.4.2. Установка значений для поиска
7.4.3. Точный поиск
7.4.4. Неточный поиск
7.4.5. Инкрементальный локатор
7.4.6. Поиск по часта текущего индекса
7.5. Фильтрация записей
7.5.1. Обзор методов
7.5.2. Использование setrange
7.5.3. Методы SetRangeStart,
SetRangeEnd, ApplyRange
7.5.4. Метод CancelRange
7.5.5. Методы EditRangeStart,
EditRangeEnd
7.5.6. Свойство KeyExclusive
7.5.7. Фильтрация по составному индексу
7.5.8. Фильтрация по частичному
соответствию
7.5.9. Фильтрация по части составного
индекса
7.5.10. Ограничения возможностей
фильтрации
7.6. Совмещение курсоров двух НД

Глава 8. Работа с компонентом TQuery
8.1. Общие сведения
8.2. Использование SQL Builder
8.2.1. Окно SQLB
8.2.2. Работа с SQLB
8.3. Обзор свойств и методов
8.3.1. Свойства
8.3.2. Методы
8.4. Выполнение статических запросов
8.5. Открытие и закрытие TQuery
8.6. Изменяемые наборы данных
8.7. Выполнение параметрических запросов
8.7.1. Понятие параметрического запроса
8.7.2. Формирование параметрического
запроса
8.7.3. Программная установка значений
параметров
8.7.4. Методы prepare и unprepare
8.7.5. Указание значения NULL для
параметров
8.7.6. Передача параметров через
свойство DataSource
8.8. Динамические запросы
8.9. Получение агрегированных значений
8.10. Сортировка в обратном порядке

Глава 9. Использование компонента TDBGrid
9.1. Обзор свойств, методов и событий
9.1.1. Свойства
9.1.2. Методы
9.1.3. События
9.2. Понятие столбцов TDBGrid
9.3. Динамические свойства столбцов
9.4. Создание и использование
объектов-столбцов
9.4.1. Работа с редактором столбцов
9.4.2. Изменение свойств столбцов во
время выполнения программы
9.4.3. Пустые столбцы
9.4.4. Формирование списка возможных
значений столбца
9.4.5. Изменение порядка следования
столбцов
9.5. Управление отображением данных
9.6. Перемещение между ячейками
9.7. Работа с компонентом TDBCtrlGrid

Глава 10. Визуальные компоненты для работы с
текущей записью набора данных
10.1. Компонент TDBText
10.2. Компонент TDBEdit
10.3. Компонент TDBCheckBox
10.4. Компонент TDBRadioGroup
10.5. Списочные компоненты
10.5.1. Компонент TDBListBox
10.5.2. Компонент TDBComboBox
10.5.3. Компонент TDBLookupComboBox
10.5.4. Компонент TDBLookupListBox
10.6. Компонент TDBMemo
10.7. Компонент TDBRichEdit
10.7.1. Назначение компонента
10.7.2. Свойства, методы и события
10.7.3. Работа с абзацем

Глава 11. Компонент TSession
11.1. Назначение компонента
11.2. Работа с установками BDE
11.3. Чтение имен таблиц базы данных
11.4. Работа с базами данных
11.4.1. Список объявленных БД
11.4.2. Хранение соединения с неактивной
БД
11.4.3. Работа с активными БД
П.5. Управление парольной защитой
11.5.1. Работа с паролями для таблиц
Paradox
11.5.2. Средства TSession для работы с
паролями
11.6. Определение служебных каталогов
сессии
11.7. Событие активизации сессии

Глава 12. Компонент TDBChart
12.1. Создание графика
12.2. Добавление серии в график и установка
ее свойств
12.2.1. Добавление серии
12.2.2. Выбор источника данных
12.2.3. Определение функций
12.3. Добавление серии во время прогона
программы
12.4. Свойства, методы и события класса
TChartSeries
12.4.1. Свойства
12.4.2. Методы
12.4.3. События

Глава 13. Введение в построение отчетов
13.1. Компоненты для построения отчетов
13.2. Компонент TQuickRep
13.2.1. Свойства
13.2.2. Методы
13.2.3. События
13.3. Компонент TQRBand
13.4. Создание простейшего отчета
13.5. Использование компонента TQRExpr
13.6. Использование TQRBand для
представления заголовков столбцов
13.7. Использование TQRBand для показа
заголовка и подвала страницы
13.8. Использование компонента TQRSysData
13.9. Группировки данных
13.10. Множественная группировка данных
13.11. Построение отчета главный-детальный
13.12. Построение композитного отчета
13.13 другие возможности
13.13.1. Использование дочерних полос
13.13.2. Компонент TQRStringsBand

Глава 14. Введение в разработку систем
принятия решений
14.1. Понятие многомерных данных
14.2. Метакуб (многомерный куб)
14.3. Динамическая фиксация количества
измерений
14.4. Обзор компонентов Delphi для
разработки систем принятия решений
14.5. Пример многомерных данных
14.6. Использование компонента
TDecisionQuery
14.7. Редактор многомерного запроса
14.8. Использование компонента
TDecisionCube
14.9. Использование компонента
TDecisionSource
14.10. Использование компонента
TDecisionGrid
14.10.1. Создание сетки многомерных
данных
14.10.2. Раскрытие и закрытие данных по
измерениям средствами компонента
TDecisionGrid
14.10.3. Показ промежуточных сумм
14.10.4. Исключение и включение
измерения в состав показываемых в сетке
данных
14.10.5. Установка свойств показа данных
по отдельному измерению
14.10.6. Свойства и события, управляющие
поведением TDecisionGrid в целом
14.11. Использование компонента
TDecisionPivot
14.11.1. Создание переключателя активных
измерений
14.11.2. Изменение способа показа данных
по измерению
14.11.3. Фиксация значения в измерении
14.11.4. Свойства, управляющие
отображением компонента TDecisionPivot


Часть 2. Создание клиент-серверных приложений

Глава 15. Введение в технологию клиент-сервер
15.1. Архитектуры файл-сервер и
клиент-сервер
15.2. SQL-сервер InterBase и его основные
компоненты
15.3. InterBase: некоторые технические
характеристики
15.4. Физическая организация базы данных
InterBase
15.5. Delphi и InterBase
15.6. Вопросы соединения с удаленным
сервером

Глава 16. Пример создания удаленной БД и
программы для работы с ней
16.1. Описание БД "учет товаров на складе"
16.2. Создание БД и ее псевдонима
16.3. Создание таблиц БД
16.4. Создание программы для ввода данных
16.4.1. Соединение с БД из программы
16.4.2. Создание формы для ввода данных
16.4.3. Создание триггеров для
поддержания каскадных воздействий.
16.6.4. Использование генератора и
хранимой процедуры для присвоения
уникального значения столбцу первичного
индекса

Глава 17. Создание базы данных
17.1. Оператор Create DataBase
17.2. Многофайловая БД
17.3. Определение пароля
17.4. Указание размера страницы БД
17.5. Указание национальной кодировки
символов

Глава 18. Типы столбцов InterBase
18.1. Обзор типов данных InterBase
18.2. Целочисленные значения
18.3. Вещественные значения
18.4. Фиксированно-десятичные значения
18.5. Значения типа даты
18.6. Символьные типы данных
18.7. Значения типа BLOB
18.8. Столбцы-массивы
18.9. Совместимость типов

Глава 19. Создание доменов
19.1. Понятие домена
19.2. Ограничения на значения столбцов,
ассоциированных с доменом
19.3. Изменение определения домена

Глава 20. Создание таблиц
20.1. Общий формат оператора Create Table
20.2. Столбцы вычисляемых значений
20.3. Ограничения целостности
20.4. Первичный ключ
20.5. Уникальный ключ
20.6. Внешний ключ и определение ссылочной
целостности
20.7. Именование ссылочной целостности
20.8. Требования к значениям столбцов
20.9. Изменение объявления таблицы
20.10. Изменение атрибутов столбца
20.11. Удаление таблицы

Глава 21. Работа с индексами
21.1. Логическое разделение на ключи и
индексы
21.2. Необходимость создания индексов
21.3. Создание индекса
21.4. Улучшение производительности индекса
21.4.1. Перестройка индекса
21.4.2. Повторное вычисление показателя
"полезности" индекса
21.5. Удаление существующего индекса

Глава 22. Компонент TDataBase

Глава 23. Оператор SELECT
23.1. Простейший вид оператора SELECT
(SELECT FROM)
23.2. Использование предложения WHERE
23.2.1. Сравнение значения столбца с
константой
23.2.2. Внутреннее соединение таблиц
23.3. Использование псевдонимов таблиц
23.4. Предложение ORDER BY - определение
сортировки
23.5. Устранение повторяющихся значений
23.6. Расчет значений вычисляемых столбцов
23.7. Агрегатные функции
23.8. Группировка записей
23.9. Предложение HAVING - наложение
ограничений на группировку записей
23.10. Задание сложных условий поиска
23.10.1. Использование логических
выражений
23.10.2. Сравнение столбца с результатом
вычисления выражения
23.10.3. Использование BETWEEN
23.10.4. Использование IN
23.10.5. Использование STARTING
23.10.6. Использование CONTAINING
23.10.7. Использование функции UPPER
23.10.8. Использование LIKE
23.10.9. Использование функции CAST
23.11. Использование подзапросов
23.12. Вложение подзапросов
23.13. Дополнительные возможности
использования подзапросов, возвращающих
единичное значение
23.13.1. Использование EXISTS
23.13.2. Использование SINGULAR
23.14. Использование подзапросов,
возвращающих множество значений
23.14.1. Использование ALL, SOME
23.14.2. Использование HAVING и
агрегатных функций для вложенных
подзапросов
23.15. Внешние соединения
23.16. UNION - объединение результатов
выполнения нескольких операторов SELECT
23.17. Использование IS NULL
23.18. Использование операции сцепления
строк
23.19. Работа с разными БД в одном запросе

Глава 24. Добавление, изменение, удаление
записей
24.1. Оператор INSERT
24.1.1. Явное указание списка значений
24.1.2. Указание значений при помощи
оператора SELECT
24.2. Оператор UPDATE
24.3. Оператор DELETE

Глава 25. Работа с просмотрами VIEW
25.1. Понятие просмотра как виртуальной
таблицы
25.2. Способы формирования просмотров
25.3. Указание столбцов просмотра в
операторе CREATE VIEW
25.4. Обновляемые и необновляемые просмотры
25.5. Использование CHECK OPTION
25.6. Компоненты Delphi и использование
просмотров

Глава 26. Работа с хранимыми процедурами
26.1. Понятие хранимой процедуры
26.2. Создание хранимой процедуры
26.3. Алгоритмический язык хранимых
процедур
26.3.1. Объявление локальных переменных
26.3.2. Операторные скобки BEGIN...END
26.3.3. Оператор присваивания
26.3.4. Оператор IF...THEN...ELSE
26.3.5. Оператор SELECT
26.3.6. Оператор FOR SELECT...DO
26.3.7. Оператор SUSPEND
26.3.8. Оператор WHILE...DO
26.3.9. Оператор EXIT
26.3.10. Оператор EXECUTE PROCEDURE
26.3.11. Оператор POST_EVENT
26.4. Вызов процедур выбора в приложении
клиента
26.5. Обращение к процедурам действия.
Компонент TStoredProc
26.6. Изменение и удаление хранимых
процедур

Глава 27. Работа с триггерами
27.1. Создание триггеров
27.2. Определение заголовка триггера
27.3. Значения OLD и NEW
27.4. Обеспечение каскадных воздействий
27.5. Ведение журнала изменений
27.6. Использование триггеров для
реализации бизнес-правил
27.7. Изменение и удаление триггера

Глава 28. Использование генераторов

Глава 29. Транзакции
29.1. Откат изменений и целостность БД
29.2. Понятие транзакции
29.3. Уровни изоляции транзакций:
приложение клиента
29.3.1. Уровни изоляции транзакций
29.3.2. Установка уровней изоляции
транзакций в Delphi
29.4. Свойство updatemode и обновление
записей
29.5. Явно и неявно стартуемые транзакции
29.6. Управление транзакциями на
SQL-сервере InterBase

Глава 30. Кэшированные изменения
30.1. Использование кэшированных изменений
30.2. Подтверждение кэшированных изменений
30.2.1. Использование метода
ApplyUpdates компонента TDatabase
30.2.2. Использование метода
ApplyUpdates набора данных
30.3. Видимость измененных записей
30.4. Обработчик события OnUpdateError
30.4.1. Использование обработчика
OnUpdateError
30.4.2. Использование параметра
UpdateKind
30.4.3. Использование параметра
UpdateAction
30.4.4. Использование параметра Е
30.4.5. Свойства OldValue и NewValue
30.5. Компонент TUpdateSql
30.5.1. Назначение компонента
30.5.2. Работа с компонентом на этапе
конструирования
30.5.3. Выполнение SQL-операторов

Глава 31. Работа с событиями
31.1. Понятие события
31.2. Компонент TIBEventAlerter
31.3. Использование компонента
TIBEventAlerter

Глава 32. Функции, определяемые пользователем
32.1. Понятие функции, определяемой
пользователем
32.2. Разработка DLL и UDF в Delphi
32.2.1. Общие положения
32.2.2. Совместимость типов параметров
32.2.3. Особенности использования в UDF
параметров типа PChar
32.2.4. Особенности использования в UDF
параметров типа даты и времени
32.3. Объявление UDF
32.4. Пример создания DLL с несколькими UDF
и объявления их в БД

Глава 33. Определение бизнес-правил
33.1. Размещение бизнес-правил
33.2. Реализация бизнес-правил на сервере
33.2.1. Ограничения значения столбца
записи
33.2.2. Запрет добавления записей в
просмотре
33.2.3. Использование триггеров для
поддержания ссылочной целостности
33.3. Реализация бизнес-правил в приложении
клиента
33.3.1. Реализация бизнес-правил в
компонентах типа "набор данных".
33.3.2. Свойство Constrained (компонент
TQuery)
33.3.3. Свойство Constraints
33.3.4. Реализация бизнес-правил в
компоненте TField
33.3.5. Другие способы реализации
бизнес-правил
33.4. Использование словаря данных для
определения атрибутов полей

Глава 34. Оптимизация работы с БД
34.1. Оптимизация структуры БД
34.1.1. Нормализация таблиц: теория и
практика
34.1.2. Частичная зависимость структуры
данных от методов доступа к ним
34.1.3. Физические характеристики БД
34.2. Оптимизация запросов
34.2.1. Оптимальная структура индексов
34.2.2. "Полезность" индексов
34.2.3. Просмотр плана выполнения
запросов
34.2.4. Целесообразность создания
индексов
34.2.5. Частичное использование
составного индекса
34.2.6. Многопоточность поиска по OR и
IN
34.2.7. Уменьшение общего количества
индексов
34.3. Оптимизация клиентских приложений
34.3.1. Минимизация соединений с БД
34.3.2. Использование TQuery
34.3.3. Перенос тяжести вычислительной
работы на сервер

Глава 35. Поддержка Oracle8
35.1. Почему Oracle8
35.2. Некоторые новые возможности Oracle8
35.3. Средства Delphi для поддержки Oracle8
35.3.1. Класс TObjectField и его
наследники
35.3.2. Изменения в классе TDBDataSet
35.3.3. Компонент TNestedTable


Часть 3. Трехзвенная архитектура и
распределенные приложения

Глава 36. Введение в трехзвенную архитектуру
36.1. Обзор трехзвенной архитектуры
36.1.1. Преимущества трехзвенной
архитектуры
36.1.2. Программная реализация
36.1.3. Пример реализации трехзвенной
архитектуры
36.1.4. Библиотека типов
36.2. Интерфейсы
36.2.1. Создание и использование
интерфейсов
36.2.2. Объекты автоматизации и
интерфейс IDispatch
36.2.3. Стандартные интерфейсы

Глава 37. Компоненты Delphi для трехзвенной
архитектуры
37.1. Компоненты для создания сервера
приложений
37.1.1. TRemoteDataModule
37.1.2. TMTSDateModule
37.1.3. TCorbaDataModule
37.1.4. TDataSetProvider
37.2. Компоненты для создания клиентского
приложения
37.2.1. TClientDataSet
37.2.2. TDCOMConnection
37.2.3. TCorbaConnection
37.2.4. TSocketConnection
37.2.5. TSimpleObjectBroker
37.2.6. TWebConnection

Глава 38. Общие вопросы создания трехзвенных
приложений
38.1. Создание сервера приложений
38.1.1. Последовательность создания
сервера приложений
38.1.2. Управление данными
38.1.3. Выполнение запроса на получение
данных
38.1.4. Сервер приложений как брокер
ограничений
38.1.5. Выполнение запроса на обновление
данных
38.1.6. Обработка ошибок обновления
38.1.7. Событие OnDataRequest
38.1.8. Расширение интерфейса сервера
приложений
38.1.9. Поставка сервера приложений
38.2. Создание клиентского приложения
38.2.1. Особенности клиента в
трехзвенной архитектуре
38.2.2. Связь COM/DCOM
38.2.3. Связь CORBA
38.2.4. Связь с помощью сокетов
38.2.5. Управление связью
38.2.6. Раннее и позднее связывание с
интерфейсом сервера
38.2.7. Обновление и освежение данных
38.2.8. Отложенная обработка и
регулирование количества записей в
пакете данных
38.2.9. Работа с файлами данных
38.3. Использование вложенных таблиц в НД
главный-детальный
38.4. Создание повторно используемых
серверов приложений
38.5. Создание клиентского приложения как
компонента ActiveX


Часть 4. Новые возможности Delphi 5

Глава 39. Работа с ADO
39.1. Тестовая программа
39.2. Установление связи с ADO
39.2.1. Структура строки связи
39.2.2. Формирование строки связи
39.3. Особенности использования компонентов
ADO
39.3.1. Базовые объекты ADO
39.3.2. Связной компонент TADOConnection
39.3.3. Компонент TADOCommand
39.3.4. Общие свойства
компонентов-наборов
39.3.5. Компонент TADODataSet
39.3.6. Компонент TADOTable
39.3.7. Компонент TADOQuery
39.3.8. Компонент TADOStoredProc
39.3.9. Компонент TRDSConnection и
создание сервера приложений

Глава 40. Технология InterBase Express
40.1. Простой пример
40.2. Компоненты для реализации IBX
40.2.1. Класс TIBBase
40.2.2. Компонент TIBDatabase
40.2.3. Компонент TIBTransaction
40.2.4. Компонент TIBTable
40.2.5. Компонент TIBQuery
40.2.6. Компонент TIBStoredProc
40.2.7. Компонент TIBUpdateSQL
40.2.8. Компонент TIBDataSet
40.2.9. Компонент TIBSQL
40.2.10. Компонент TIBDataBaseInfo
40.2.11. Компонент TIBSQLMonitor
40.2.11. Компонент TIBEvents

Приложения
П1. Работа с утилитой BDE ADMINISTRATOR
П1.1. Создание псевдонима БД
П1.1.1 создание псевдонима STANDARD
П1.1.2. Создание псевдонима INTRBASE
П1.2. Установки параметров драйвера
П1.2.1. Paradox
П1.2.2. InterBase
П1.3. Системные стартовые установки
П1.4. Установки форматов
П1.4.1. Параметры формата даты
П1.4.2. Параметры формата времени
П1.4.3. Параметры числового формата
П1.5. Сохранение конфигурации

С чем связано п2. Работа с утилитой SQL
EXPLORER
П2.1. Назначение SQL EXPLORER
П2.2. Главное меню
П2.2.1. Опция Object
П2.2.2. Опция Dictionary
П2.2.3. Опция Edit
П2.2.4. Опция View
П2.2.5. Опция Options
П2.3. Работа с утилитой
П2.3.1. Управление псевдонимами
П2.3.2. Просмотр/редактирование таблиц
П2.3.3. Создание и выполнение запросов
Пз.3.4. Просмотр метаданных

П3. Работа с утилитой WISQL
П3.1. Установка набора символов текущей
сессии
П3.2. Создание БД и соединение с ней
П3.4. Выполнение SQL-операторов
П3.5. Подтверждение и откат изменений
П3.6. Просмотр структуры компонентов БД
Пз.7. Выполнение Script-файлов

П4. Описание библиотеки IB_UDF.DLL

Литература
Алфавитный указатель