Структура XSQLVAR
Рассмотренная выше область дескрипторов содержит возвращаемый результат запроса. Массив значений каждого возвращаемого поля сохраняется в отдельной структуре XSQLVAR. Индексированный список таких структур в области дескрипторов представлен свойством:
property Vars: [Idx: Integer]: TIBXSQLVAR
В целом, рассматриваемая структура соответствует объекту поля Delphi (см. гл. 13), о чем свидетельствует набор основных свойств и методов класса структуры, представленный в табл. 18.4.
Помимо представленных в таблице свойств, класс TIBXSQLVAR имеет ряд свойств, возвращающих значение в определенном формате: AsCurrency, AsDate, AsDateTime, AsDouble, AsFloat, Aslnt64, Aslnteger, AsLong, AsPointer, AsQuad, AsShort, AsString, AsTime, AsVariant.
Таблица 18.4. Свойства и методы класса TIBXSQLVAR.
| Объявление | Тип | Описание |
|---|---|---|
| Свойства | ||
| property AsXSQLVAR: PXSQLVAR; | Pu | Представляет значение поля как структуру XSQLVAR |
| property Data: PXSQLVAR; | Pu | Ссылка на структуру XSQLVAR |
| property Index: Integer; | Pu | Возвращает индекс структуры в области дескрипторов |
| property IsNull: Boolean; | Pu | Позволяет определить наличие данных в структуре |
| property IsNullable: Boolean; | Pu | Позволяет определить, может ли структура иметь значение |
| property Modified: Boolean; | PU | Позволяет определить, изменялось ли значение в структуре |
| property Size: Integer; | Pu | Максимальный размер данных в байтах |
| property SQLType: Integer; | Pu | Возвращает индекс API параметра |
| property Value: Variant; | Pu | Содержит возвращаемое значение |
| Методы | ||
| procedure Assign (Source: TIBXSQLVAR); | Pu | Присваивает объект, передаваемый в параметре, данному объекту |
| procedure LoadFromFile (const FileName: String); | Pu | Загружает из файла данные в поле BLOB |
| procedure LoadFromStream(Stream: TStream); | PU | Загружает из потока данные в поле BLOB |
| procedure SaveToFile (const FileName: String); | Pu | Сохраняет в файле данные из поля BLOB |
| procedure SaveToStream (Stream: TStream); | рu | Сохраняет в потоке данные из поля BLOB |
