This is topic Значение из БД in forum Работа с приложениями (ODBC-SQL/OPC/DDE) at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/41/t/000095.html

Posted by arkos (Участник № / Member № 6144) on :
 
Получаю данные из БД. Если таблица в БД ПУСТАЯ то приходит 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 :
 
Спасибо
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2