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

Назначение
 

Команда GETL возвращает последнюю запись выборки данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

Команда выдает последнюю запись SELECT-запроса. Выданная запись становится текущей записью в канале.

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

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