Объявление |
Тип |
Описание |
|
Pu \ Вызывает исключение, если набор I данных закрыт |
|
|
Pu |
Вызывает исключение, если запрос некорректен |
|
Pu |
Закрывает набор данных |
|
Pu |
Ссылка на область дескрипторов запроса |
|
Pu |
Выполняет запрос |
|
' ........ Pu |
| Возвращает структуру ХБОТУАК по имени ПОЛЯ |
|
Pu I |
Освобождает ресурсы, занятые запро-| сом |
|
Pu I |
Возвращает область дескрипторов | для следующей записи |
|
Pu |
Готовит запрос к выполнению |
Методы-обработчики событий |
||
|
Pb |
Вызывается при изменении запроса |
Текст запроса задается обычным для всех компонентов запросов свойством SQL. Для выполнения запроса используется также знакомое свойство ExecSQL. После этого можно обращаться к созданному компонентом набору данных.
Значения полей из текущей записи доступны через свойство Fields. Обратите внимание, что это не объекты типа TFields, а структуры XSQLVAR ИЗ области дескрипторов.
Будут ли переданы значения полей в компонент, зависит от значения свойства GoToFirstRecordOnExecute.
Доступ к области дескрипторов осуществляется через свойство Current.
Переход к следующей записи выполняется методом Next. При этом обновляется область дескрипторов запроса.
Обработка событий
Клиентское приложение Delphi, работающее с сервером InterBase, имеет возможность отслеживать события, происходящие в базе данных и вызываемые другими процессами или приложениями. Для этого используется компонент TlBEvents. Он позволяет определить список необходимых событий и предоставляет разработчику простой механизм отслеживания возникающих на сервере событий. Свойства и методы компонента TiBEvents представлены в табл. 18.7.
Список событий задается свойством
property Events: TStrings;
в котором можно определить до 15 контролируемых событий.
Выбранные события необходимо зарегистрировать на сервере. Для этого применяется метод
procedure RegisterEvents;
Метод ркгв±1ге ^eueE^mts;
начинает процесс передачи сообщений от сервера.
При возникновении на сервере зарегистрированного события компонент вызывает метод-обработчик события
property OnEventAlert: TEventAlert;
TEventAlert = procedure( Sender: TObject; EventName: String; EventCount: longint; var CancelAlerts: Boolean)
Параметр EventName содержит имя последнего произошедшего события.
Параметр EventCount содержит число заданных событий, произошедших с момента последнего вызова метода-обработчика.
Параметр CancelAlerts позволяет прервать процесс передачи сообщений приложению. Для этого необходимо присвоить параметру значение True.
Для возобновления работы компонента нужно снова использовать метод
QueueEvents.
Таблица 18.7. Свойства и методы компонента TiBEvents
Объявление |
Тип |
] Описание |
Свойства |
||
|
Pb |
j Задает базу данных |
property Events: TStrings; j |
Pb |
Список контролируемых событий |
property Queued: Boolean; ^ Ro |
Значение True говорит о том, что '! процесс передачи сообщений работает |
|
.........................................................................................................................
|
Pb |
Определяет регистрацию сообщений J на сервере |
Таблица 18.7 (окончание)