Получение столбца ответа в буфер – LINTER_GetData
Прототип функции
L_LONG LINTER_GetData(
L_WORD CursorID, /* идентификатор курсора */
L_SWORD ColumnNumber,/* номер столбца в ответе */
void *OutBuffer, /* буфер для приема поля */
L_LONG OutBufLen, /* длина OutBuffer в байтах */
L_SWORD OutType, /* выходной тип поля ответа */
L_SWORD OutPrec, /* выходная точность поля (для tDecimal) */
L_SWORD OutScale, /* выходной масштаб поля (для tDecimal) */
L_LONG *RealLength); /* реальная длина поля */
Входные параметры
Выходные параметры
Описание
Помещает в OutBuffer
значение столбца ответа, а в RealLength
действительный размер ответа. Для получения значений переменной длины размер буфера ответа должен быть увеличен на 2 байта (для указания реальной длины значения).
Пример
long lError;
short nCursID;
t_ParamDesc pdAnsDesc;
void *vBuff;
...
if(lErr=LINTER_GetCursorOption(nCrsID, cAnswerDesc, 1, (void*)&pdAnsDesc, NULL))
processing_error(lErr, 0, nCrsID, 0, "LINTER_GetCursorOption");
vBuff = calloc(pdAnsDesc.Length, sizeof(char));
...
if(lErr=LINTER_GetData(nCrsID, 1, vBuff, pdAnsDesc.Length, pdAnsDesc.Type, 0, 0, NULL))
processing_error(lErr, 0, nCrsID, 0, "LINTER_GetData");