Перейти к основному содержимому

ПОЛУЧИТЬ_ЗНАЧЕНИЕ

Функция ПОЛУЧИТЬ_ЗНАЧЕНИЕ

Формат вызова

ПОЛУЧИТЬ_ЗНАЧЕНИЕ(Имя переменной, Имя поля, Null-значение)

Описание функции

Получает результат выполнения запроса, информация о котором содержится в переменной с именем Имя переменной.

Параметры

Имя переменной должно указывать на специальную переменную («переменную запроса»), созданную с помощью функции СОЗДАТЬ_ЗАПРОС. Текст запроса должен предусматривать возврат поля БД с именем Имя поля.

ВНИМАНИЕ! Параметры Имя поля и Null-значение имеют тип «строка», а значит, значения-константы этих параметров должны быть заключены в кавычки. Например, если бы в примере ниже вызов функции выглядел бы так:

РЕЗУЛЬТАТ = ПОЛУЧИТЬ_ЗНАЧЕНИЕ(ЗАПРОС,CNT,'');

  • то функция пыталась бы вернуть не поле с именем CNT, а поле, название которого записано в переменной CNT скрипта. Чтобы получить значение поля с именем CNT, нужно имя CNT заключить в кавычки:

РЕЗУЛЬТАТ = ПОЛУЧИТЬ_ЗНАЧЕНИЕ(ЗАПРОС,'CNT','');

Аналогично следует учитывать строковой тип параметра Null-значение, даже если требуется вернуть не строку, а число. Например, такой вызов функции:

РЕЗУЛЬТАТ = ПОЛУЧИТЬ_ЗНАЧЕНИЕ(ЗАПРОС,'CNT',0);

  • вызовет ошибку. Числовое значение тоже следует представить в виде строки. Корректный вызов должен выглядеть так:

РЕЗУЛЬТАТ = ПОЛУЧИТЬ_ЗНАЧЕНИЕ(ЗАПРОС,'CNT','0');

Возвращаемый результат

Функция выполняет соответствующий запрос и из результата этого запроса возвращает значение поля БД с именем Имя поля. Если результат запроса представляет собой набор из нескольких записей, будет возвращено значение поля для первой записи. Если же результат запроса представляет собой значение Null («пустое значение»), или значением поля с именем Имя поля является Null, то будет возвращено значение, заданное с помощью параметра Null-значение.

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

РЕЗУЛЬТАТ = ПОЛУЧИТЬ_ЗНАЧЕНИЕ(ПЕРЕМ,'Сумма','');

// Пример работы с запросами: УСТАНОВИТЬ_ТИП(КОНФ,INTEGER); УСТАНОВИТЬ_ТИП(ЮИД,INTEGER); КОНФ = 1; ЮИД = 38; ТЕКСТ = СТРОКА('select Count(*) CNT from DOCTOR where STDTYPE=[КОНФ] and JID=[ЮИД]'); ЗАПРОС = СОЗДАТЬ_ЗАПРОС(ЗАПРОС,ТЕКСТ); РЕЗУЛЬТАТ = ПОЛУЧИТЬ_ЗНАЧЕНИЕ(ЗАПРОС,'CNT','');

См. также

УСТАНОВИТЬ_ТИП СОЗДАТЬ_ЗАПРОС ОТКРЫТЬ_ЗАПРОС ТЕКУЩЕЕ_ЗНАЧЕНИЕ СЛЕДУЮЩАЯ_СТРОКА

Была ли статья полезна?