Главная ]
1.2.1.Элементы буфера запроса и значения буфера результата
Программирование
Базы данных



Буфер запроса это символьный массив в каждый элемент которого заносятся значения определяющие какая информация будет возвращена. Каждый байт это параметр, информацию о котором мы хотим получить. Константы связанные с каждым таким параметром  определены в ibase.h.

Буфер результата содержит после выполнения функции серию кластеров информации, каждый кластер состоит из трех частей.

  1. Первый байт определяет информация о каком параметре содержится в этом кластере, он равен одной из констант определенных в ibase.h и уже описанных выше.

  2. Далее идут два байта – содержащие число равное числу байт оставшихся до конца кластера, фактически размер значения параметра в байтах.

  3. И наконец идет само значение занимающее столько байт сколько определено предыдущими двумя байтами. (это может быть число или строка )

Пример:

Вот так выглядит буфер результата после запроса  информации  о размере страницы БД

 

isc_info_page_size

Число байт до конца кластера (4 байта)

Число 1024

Символ конца буфера

1

2

3

4

5

6

7

8

0х0E

0x04

0x00

0x00

0x04

0x00

0x00

0x01

 

Кластеры записанные в  буфер результатов не выровнены. Кроме того все числа представлены в универсальном формате(сначала младший байт, потом более  старший). Числа со знаком имеют признак знака в старшем байте. Преобразовывайте эти числа к типу присущему вашей системе, можно также для конвертации воспользоваться функцией isc_vax_integer() меняющей порядок байт.

 

<< Назад ] Содержание ] Далее >> ]

Дизайн: Piton Alien
Rambler's Top100 Рейтинг@Mail.ru
Сайт создан в системе uCoz