Механизм доступа к данным InterBase Express. Компонент TIBDatabase.
Путь к файлу базы данных задается свойством:
property DatabaseName: String;
Соединение включается и отключается свойством:
property Connected: Boolean;
При этом свойство:
property AllowStreamedConnected: Boolean;
…управляет включением соединения при запуске приложения и служит дополнительным предохранителем. При значении False свойство запрещает открытие соединения при запуске приложения, даже если свойство Connected имело значение True. Так как часто приложение отлаживается на тестовой базе данных, а используется на реальной, то неверный путь в свойстве DatabaseName и не отключенное на этапе разработки свойство connected приведет к возникновению ошибки открытия соединения при запуске приложения на другом компьютере.
Параметры соединения, которые нельзя задать свойствами, устанавливаются свойством:
property Params: TStrings;
…в котором в каждой строке задается имя параметра и затем через знак равенства – его значение. Наиболее распространенный пример использования свойства Params – задание имени пользователя и его пароля:
user_name=sysdba password=masterkey
Свойство:
property DBParamByDPB: [const Idx: Integer]: String;
…позволяет получить доступ к отдельным параметрам соединения, не обращаясь к свойству Params.
Примечание
Полный список индексов всех возможных параметров соединения Interbase можно найти в файле \Delphi7\Source\Vcl\IBHeader.pas.
Если соединение настроено правильно, метод:
procedure TestConnected: Boolean;
…возвращает значение True, иначе – False. Свойство:
property IdleTimer: Integer;
…задает временной интервал до отключения неиспользуемого соединения.
В компоненте TiBDatabase отсутствуют средства управления транзакциями, которые вынесены в отдельный компонент TiBTransaction (см. ниже).
Свойство:
property DefaultTransaction: TiBTransaction;
…позволяет задать транзакцию по умолчанию. При этом все компоненты с наборами данных, использующие данное соединение автоматически, начинают применять этот компонент транзакции. Изменяя значение этого свойства, можно в одном соединении работать с несколькими транзакциями.
Общее число связанных с данным соединением транзакций возвращает свойство:
property TransactionCount: Integer;
…а их полный перечень содержится в индексированном списке свойства:
property Transactions [Index: Integer]: TIBTransaction;