Получаю данные из БД. Если таблица в БД ПУСТАЯ то приходит 0 и если в таблице значение 0, то тоже приходит 0. Мне нужно точно знать: таблица пустая или там значение 0. Принимаю в канал CALL (CGR). Подскажите, пожалуйста, как различить эти значения?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
После завершения запроса (автоматического сброса значения канала CALL.SQL) следует посмотреть значение его атрибута 91. По документации: "в атрибут 91, I1 записывается число строк в выборке, полученной из таблицы БД в результате этого запроса." При пустой таблице значение атрибута равно 0.
Posted by arkos (Участник № / Member № 6144) on :
То есть вы мне предлагаете для каждого принимаемого значения анализировать (программно) атрибут 91 и на основании этого выводить значение на экран. У меня около 2000 параметров!!! Нет ли чего-нибудь попроще?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Контролировать надо не "для каждого значения", а "для каждого запроса". Речь идет о "пустой базе", а не о "пустых ячейках базы". Вы можете при запуске организовать только запрос, определяющий наличие записей в базе. И только тогда, когда Вы получите информацию, что база "не пуста", программно запустите считывание информации из БД. Определить наличие "пустых полей" в существующих записях базы нет возможности. Возврат драйвером ODBC символа <пусто> воспринимается как команда "не изменять" значение соответствующего аргумента CALL.SQL.
Posted by arkos (Участник № / Member № 6144) on :