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

Назначение
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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