Обработка возвращаемого значения и выходных параметров

Получить возвращаемое значение и выходные параметры можно тремя различными способами:

  1. с помощью функции LINTER_GetData;

  2. с помощью функции LINTER_BindParameter (при использовании претранслированных запросов с параметрами);

  3. самостоятельным разбором буфера ответа.

Первый способ можно использовать всегда, и когда запрос на выполнение процедуры был претранслирован, и когда он выполнялся непосредственно. После выполнения процедуры можно узнать количество пришедших в ответе выходных параметров, используя функцию LINTER_GetCursorOption (характеристика cProcArgNum). Возвращаемое значение в количество выходных параметров не входит, так как оно есть всегда, и имеет нулевой номер. С помощью характеристики курсора cAnswerDesc можно получить описание возвращаемого значения и каждого выходного параметра по номеру. Если выполнялся отладочный вариант процедуры, то можно узнать имя выходного параметра, используя характеристику cProcArgName (если значение имеет флаг fName).

Если для выполнения процедуры был создан оператор (statement) с параметрами, то функцией LINTER_BindParameter можно привязать буфера как входных, так и выходных параметров. При привязке буферов значений параметров запроса вместе с типом значения необходимо указать тип параметра pInput, pOutput или pInputOutput. Если параметр имеет тип pOutput или pInputOutput, то после выполнения оператора в привязанные буфера будут помещены значения выходных параметров.

Третий способ подразумевает получение буфера ответа с помощью функции LINTER_GetRowBuffer и самостоятельный его разбор на низком уровне. Для этого необходимо тщательно изучить соответствующие главы документации по использованию хранимых процедур в СУБД ЛИНТЕР.