Дать следующую запись выборки данных

Назначение
 

Команда GETN возвращает следующую (после текущей)запись выборки данных.

Параметры вызова

inter(CBL, VarBuf, NULL, [CondBuf], RowBuf);

Входные данные

Входными данными является контрольный блок CBL.

В нем должны быть заполнены поля:

Имя поля Значение
NumChan Номер канала
Command "GETN"
LnBufRow Длина буфера выборки данных
Node Имя ЛИНТЕР-сервера
Выходные данные

Выходными данными являются:

  • контрольный блок CBL;

  • буфер выборки данных RowBuf;

  • буфер параметров VarBuf.

В контрольном блоке будут возвращены:

Имя поля Значение
CodErr Код завершения запроса к СУБД ЛИНТЕР
RowId Системный номер выбранной записи
LnBufRow Фактическая длина буфера выборки данных
SysErr Код состояния ОС

Буфер выборки данных RowBuf будет содержать следующую (после текущей) запись выборки данных.

В буфере VarBuf возвращается маска NULL-значений.

Описание

Команда выдает следующую запись выборки данных после текущей записи выборки. Текущей записью является последняя запись, реально выданная по данному каналу.

Коды завершения
Код Описание
NORMAL Нормальное завершение
SMALLBUFKOR Недостаточный размер буфера выборки данных
EORR Искомые данные не найдены (выборка данных пуста, или запрашивается следующая запись после последней в выборке)
ERRSEQCOM Неправильная последовательность команд (команда GETN подана вне контекста SELECT-запроса)
Пример формирования команды
#include < string.h >
#include < stdlib.h >
#include "inter.h"

L_LONG LinterGETN(TCBL *pCBL, void *RowBuf, L_WORD RowBufLen, void *NullBuf)
   {
   memcpy(pCBL- >Command, "GETN", 4);
   pCBL- >LnBufRow=RowBufLen;
   pCBL- >PrzExe &= ~Q_ASYNC;
   inter(pCBL, NullBuf, NULL, NULL, RowBuf);
   return pCBL- >CodErr;
   }
Пример использования команды