TIbDatabase - обеспечивает подключение к базе данных Interbase/Firebird. Объявлен в модуле IbDataBase.pas. Все наследники TIBCustomDataSet и TIBSQL используют этот компонент для связи с базой данных. Унаследован от TCustomConnection=>TComponent=>TPersistent=>TObject

Свойства

Методы

События

Свойства

В TIBDatabase
AllowStreamedConnected: booleanКогда свойство выствлено в TRUE (по умолчанию), то установка в design-time свойства Connected в TRUE (т.е., подключение к базе) заставит компонент автоматически соединиться с базой и при запуске программы. Если же свойство выставлено в FALSE, то даже при включенном Connected при запуске придётся принудительно открывать базу данных либо повторной установкой Connected, либо вызовом метода Open. Сделано это для тех случаев, когда в design-time используется другая (например, локальная) база данных, чем в runtime.
Connected: booleanОпределяет, активно ли соединение. Установка свойства приводит к открытию (Connected := TRUE) или закрытию (Connected := FALSE) соединения. Важно помнить, что открытие соединения не приводит к автоматическому открытию связанных с ним наборов данных.
DatabaseName: stringОпределяет физическое имя базы данных, ассоциированной с компонентом. Синтаксис отличается для различных видов подключения. Локальный файл: <filename>  TCP/IP: <server_name>:<filename>  NetBEUI: \\<server_name>\<filename>   SPX: <server_name>@<filename>
DBParamByDPB: [const Idx: Integer]: stringиспользуется для работы с параметрами напрямую, минуя свойство Params. Есс-но, для это придётся знать внутренние константы IB. например, DBParamByDPB[isc_dpb_user_name] может использоваться для установки и чтения имени пользователя. Остальные константы можно посмотреть в IbHeader.pas, сделав поиск по "Database parameter block stuff"
DBSQLDialect: Integer;Возвращает используемый базой данных диалект. Только для чтения.
DefaultTransaction: TIBTransactionТранзакция, используемая по умолчанию. Если ваше приложение использует всего одну транзакцию, то именно сюда её и следует прописать.
Handle: TISC_DB_HandleДескриптор базы данных, используемый для прямых вызовов API Interbase. Устанавливается при открытии базы данных. Только для чтения.
HandleIsShared: BooleanВнутренний флаг, указывающий, используется ли ещё где либо дескриптор базы данных. Только для чтения.
IdleTimer: IntegerИнтервал времени в миллисекундах, по истечении которого компонент автоматически разорвёт "простаивающее" соединение. По умолчанию равен 0, т.е. - выключен.
InternalTransaction: TIBTransactionДля внутреннего использования. Только для чтения.
IsReadOnly: BooleanЯвляется ли база read-only. Работает только для IB 6.0 и выше (в т.ч. - Firebird). Только для чтения.
Params: TStringsСписок параметров, которые в момент подключения будут переданы серверу СУБД. Имеют структуру <name>=<value>. Например: user_name=sysdba password=masterkey sql_role_name=finance lc_ctype=WIN1251
SQLDialect: IntegerИспользуется для установки диалекта, с которым вы собираетесь подключиться к базе данных. При уже открытой базе значение не может быть выставлено выше реального диалекта БД. Если же при подключении окажется, что заданный диалект превышает реальный, будет сгенерированно событие OnDialectDowngradeWarning, и диалект будет понижен автоматически. На данный момент, собственно, диалектов всего два: 1 и 3, поэтому имеет смысл всегда выставлять 3, это гарантирует, что ваша прога сможет подключиться.
SQLObjectCount: IntegerЧисло sql-объектов в базе данных. Таковыми считаются таблицы, запросы и blob'ы.
SQLObjects[Index: Integer]: TIBBaseДаёт доступ ко всем sql-объектам в базе данных.
TraceFlags: TTraceFlagsИспользуется для установки набора операций, выполнение которых впоследствии можно будет оттрассировать компонентом TIbSqlMonitor.
TransactionCount: IntegerКол-во транзакций, ассоциированных с компонентом.
Transactions [Index: Integer]: TIBTransactionСписок всех транзакций по индексу.
в начало
В TCustomConnection
DataSetCount: IntegerКоличество всех наборов данных, перечисленных в свойстве DataSets.
DataSets[Index: Integer]: TDataSetСписок всех открытых наборов данных.
LoginPrompt: Boolean;Определяет, будет ли при подключении выдаваться стандартный диалог на ввод имени(логина) и пароля. Если выставлен в FALSE, то вам самим придётся позаботиться о передаче серверу этих данных, например, с помощью свойства Params.
в начало

Методы

В TIbDatabase
procedure AddEventNotifier(Notifier: IIBEventNotifier);Позволяет регистрировать на сервере события, при возникновении которых приложение будет получать уведомление от сервера. Используется внутренне для взаимодействия с компонентами типа TIbEvents.
function AddTransaction(TR: TIBTransaction): IntegerДобавляет транзакцию в список транзакций (Transactions), возвращая её индекс.
procedure ApplyUpdates(const DataSets: array of TDataSet)Отправляет кэшированные изменения на сервер для указанного списка наборов данных. 
function Call (ErrCode: ISC_STATUS; RaiseError: Boolean): ISC_STATUSВозвращает ошибку и, при желании, возбуждает исключительную ситуацию.
procedure CheckActiveВозбуждает ИС, если база данных не открыта.
procedure CheckDatabaseNameВозбуждает ИС, если свойство DatabaseName не установлено.
procedure CheckInactiveВозбуждает ИС, если база данных открыта.
procedure CloseDataSetsЗакрывает все активные наборы данных, не обрывая соединение с базой данных.
constructor Create(AOwner: TComponent)Конструктор компонента. После создания, списки наборов данных (DaytaSets) и параметров (Params) будут пустыми.
procedure CreateDatabaseСоздаёт базу данных с указанным именем (DatabaseName), диалектом (SqlDialect) и заданными параметрами (Params).
destructor DestroyДеструктор компонента. При необходимости освободить динамически созданный объект, рекомендуется использовать Free.
procedure DropDatabaseФизически удаляет текущую (открытую) базу данных. Если база данных не открыта - свалится в exception.
function FindDefaultTransaction(): TIBTransactionВозвращает транзакцию, заданную по умолчанию (DefaultTransaction).
function FindTransaction (TR: TIBTransaction):Integer;Возвращает индекс указанной транзакции в списке транзакций (Transactions).
procedure FlushSchemaОчищает программный кэш компонента.
procedure ForceCloseПринудительное закрытие базы. Даже если попытка корректно закрыть соединение обломилась, дескриптор базы данных (Handle) всё равно будет выставлен в nil.
procedure GetFieldNames(const TableName: string; List: TStrings)Возвращает список всех полей в указанной таблице текущей базы данных. Список уже должен существовать.
procedure GetTableNames(List: TStrings; SystemTables: Boolean =False)Возвращает список всех таблиц. SystemTables определяет, будут ли включены в список системные таблицы. Список уже должен существовать.
function Has_COMPUTED_BLR(Relation, Field : String) : BooleanОпределяет, содержит ли поле в указанной реляции (таблице или просмотре) аттрибут COMPUTED_BLR.
function Has_DEFAULT_VALUE(Relation, Field : String) : BooleanОпределяет, содержит задано ли для поля в указанной реляции (таблице или просмотре) значение по умолчанию.
function IndexOfDBConst(st: String): IntegerВозвращает индекс параметра st из списка параметров базы данных. См. также DbParamByDPB.
procedure RemoveEventNotifier(Notifier: IIBEventNotifier)Удаляет обработчик события, после чего компонент перестаёт автоматически регистровать это событие при открытии/закрытии базы данных.
procedure RemoveTransaction(Idx: Integer)Удаляет указанную транзакцию из списка транзакций (Transactions).
procedure RemoveTransactionsОчищает список транзакций.
procedure SetHandle(Value: TISC_DB_HANDLE)Устанавливает дескриптор (Handle) для базы данных.
function TestConnected: BooleanПроверяет, установленно ли соединение с базой данных. В отличие от свойства Connectedданная функция вернёт TRUE только тогда, когда соединение действительно существует (после обрыва сети, например, Connected всё равно можно остаться в TRUE, а вот TestConnected всегда "скажет правду").
в начало
В TCustomConnection
procedure CloseРазрывает соединение с базой данных, предварительно отключая все наборы данных и транзакции. То же самое, что установка Connected в FALSE.
procedure OpenУстанавливает соединение с базой данных. То же самое, что установка Connectedв TRUE.
в начало

События

В TIbDatabase
OnDialectDowngradeWarning: TNotifyEventВозникает при понижении диалекта, указаного в компоненте. Например, если диалект в программе равен 3, а диалект базы, к которой мы пытаемся подключиться равен 1, то он будет автоматически понижен и возникнет данное событие. См. также SQLDialect.
OnIdleTimer: TNotifyEventВозникает при срабатывании таймера простоя (IdleTimer).
OnLogin: TIBDatabaseLoginEventВозникает в момент подключения к базе данных и позволяет, например, вывести собственный диалог на подключение с последующей передачей полученных значений серверу СУБД. См. также LoginPrompt.
в начало
Унаследованы от TCustomConnection
AfterConnect: TNotifyEventВозникает после подключения к базе данных
AfterDisconnect: TNotifyEventВозникает после отключения от базы данных штатными средствами. При сбое (например, обрыве сети) может не возникнуть совсем!
BeforeConnect: TNotifyEventВозникает перед подключением к базе данных.
BeforeDisconnect: TNotifyEventВозникает перед отключением от базы данных штатными средствами. При сбое (например, обрыве сети) может не возникнуть совсем!
в начало