Для обеспечения скорости выполнения запроса из компонента удалены все дополнительные механизмы, обслуживающие набор данных. Фактически компонент
TIBSQL не имеет отношения к обычным компонентам доступа к данным, его непосредственным предком является класс
icomponent, а не TDataSet. Поэтому он только передает через компонент соединения
TiBDatabase запрос серверу и получает назад результат выполнения запроса.
Для повышения скорости компонент не обеспечивает полноценной навигации по набору данных. Перемещение по набору данных возможно только в прямом направлении (однонаправленный курсор).
Возвращаемые набором данных текущие значения полей содержатся не в привычном наборе объектов полей
TField, а в объекте TIBXSQLDA (см. выше).
Так как структура XSQLDA создается сервером при выполнении запроса, существенно уменьшается время открытия набора данных компонента.
|
|
|
|
|
|
Значение True говорит о том, что курсор находится в начале набора данных
|
property Database: TiBDatabase;
|
|
Определяет компонент соединения с базой данных
|
property DBHandle: PISC DB_HANDLE;
|
|
Указатель API на объект базы данных
|
|
|
Значение True говорит о том, что курсор находится в конце набора данных
|
property Fieldlndex: [FieldName: String]: Integer;
|
|
Список порядковых номеров полей по их именам
|
property Fields [const Idx: Integer] : TIBXSQLVAR;
|
|
Индексированный список структур XSQLVAR, хранящих значения полей набора данных
|
property GenerateParamNames : Boolean;
|
|
Установка свойства в значение True приводит к созданию списка имен параметров запроса в свойстве
Params
|
property GoToFirstRecordOnExecute : Boolean;
|
|
Значение True обеспечивает установку курсора на первую запись набора данных при его открытии
|
property Handle: TISC STMT HANDLE;
|
|
Содержит указатель API на запрос
|
|
|
Позволяет определить, открыт ли набор данных
|
property ParamCheck: Boolean;
|
|
Позволяет определить, был ли заново сгенерирован список параметров запроса при изменении его текста во время выполнения
|
property Params: TIBXSQLDA;
|
|
Область дескрипторов запроса (см. выше)
|
|
|
Содержит план запроса после его подготовки
|
property Prepared: Boolean;
|
|
Значение True сообщает о том, что запрос готов к выполнению
|
property RecordCount: Integer;
|
|
Возвращает число записей набора данных
|
property RowsAf fected: Integer;
|
|
Возвращает число записей, обработанных запросом
|
|
|
|
property SQLType: TIBSQLTypes read FSQLType;
|
|
Возвращает тип запроса (см. табл. 24.5)
|
property Transaction: TIBTransaction;
|
|
Указывает на компонент транзакции
|
property TRHandle: PISC_TR_HANDLE;
|
|
Содержит указатель API на транзакцию, в которой работает запрос
|
property UniqueRelationName : String;
|
|
Возвращает уникальное внутреннее имя запроса
|
|
procedure Batchlnput ( InputOb ect: TIBBatchlnput);
|
|
Выполняет запрос с параметрами для переноса в объект
Inputobject
|
procedure BatchOutput (Output Object : TIBBatchOutput) ;
|
|
Выполняет запрос с параметрами для переноса в объект
OutputObject
|
function Call (ErrCode: ISC_STATUS; RaiseError: Boolean): ISC STATUS;
|
|
Возвращает текст сообщения об ошибке по ее коду
ErrCode
|
|
|
Вызывает исключение, если набор данных открыт
|
|
|
Вызывает исключение, если набор данных закрыт
|
procedure CheckValidStatement;
|
|
Вызывает исключение, если запрос некорректен
|
|
|
|
function Current: TIBXSQLDA;
|
|
Ссылка на область дескрипторов запроса
|
|
|
|
function FieldByName [FieldName: String]: TIBXSQLVAR;
|
|
Возвращает структуру XSQLVAR по имени поля
|
|
|
Освобождает ресурсы, занятые запросом
|
function Next: TIBXSQLDA;
|
|
Возвращает область дескрипторов для следующей записи
|
|
|
Готовит запрос к выполнению
|
Методы-обработчики событий
|
property OnSQLChanging: TNotifyEvent;
|
|
Вызывается при изменении запроса
|
Текст запроса задается обычным для всех компонентов запросов свойством SQL. Для выполнения запроса используется также знакомое свойство
EXGCSQL. После этого можно обращаться к созданному компонентом набору данных. Значения полей из текущей записи доступны через свойство
Fields. Обратите внимание, что это не объекты типа
TFields, а структуры XSQLVAR из области дескрипторов.