This is topic Вывод png файла из db firebird 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/000086.html

Posted by Garrison (Участник № / Member № 5981) on :
 
Доброго времени суток! В базе данных fdb имеются строки с числовыми значениями "integer" и изображениями png с типом данных blob и подтипом binary. Посредством вот такого sql запроса:
SELECT
PARAM_PROD.ID_PROD #ARG_000#,
PARAM_PROD.NUM_YAHIKA #ARG_001#,
PARAM_PROD.WES_PROD #ARG_002#,
PARAM_PROD.NAME_PROD #ARG_004#,
PARAM_PROD.LOGO_PRODUKTA #ARG_005#
from PARAM_PROD where (NUM_YAHIKA = #ARG_003#)
Из бд без проблем выводятся числовые значения с типом integer. А как выводить картинку png из столбца LOGO_PRODUKTA? Т.е.какой тип данных ставить аргументам запроса из бд и аргументам экрана? И с помощью какого "ГЭ" выводить его на экран?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В Trace Mode 6 поддерживается обмен с БД данными в числовых, временных и строковых форматах.
 
Posted by Garrison (Участник № / Member № 5981) on :
 
Ок спасибо, решим этот вопрос сторонним п/о. Вопрос еще по PARAM_PROD.NAME_PROD #ARG_004#, в таблице в этой колонке хранятся названия продукта в кириллице,с кодировкой win1251, база создана так же в кодировке win1251 при конфигурации драйвера ODBС так же указана win1251, а при получении значения в trace mode через sql запрос, получаю "кракозябру" проблема видио в кодировке. Это проблема относящаяся к Trace Mode? Ибо при точно таком же sql в сторонних п/о выдаются нормальные значения.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В качестве прослойки используется Qt.

Из документации по Qt:
"The QODBC3 Plugin will use the Unicode API if UNICODE is defined. On Windows NT based systems, this is the default. Note that the ODBC driver and the DBMS have to support Unicode as well."

Т.е. для Windows (NT и далее) ODBC-драйвер Qt использует Unicode. СУБД должна также поддерживать Unicode.

Возможно, что в данном случае сработает настройка ODBC-драйвера для FireBird на Unicode и конвертация CP1251->Unicode будет выполняться им.

Пересобирать QODBC3 с поддержкой CP1251 мы не можем.
 
Posted by Garrison (Участник № / Member № 5981) on :
 
Ок. с кодировкой разобрался, почему то на ГЭ Текст отображаются только первые четыре буквы слова из бд. Тип данных аргумента привязанного к sql запросу выставил "STRING" аргумент экрана привязанный к ГЭ Текст так же "STRING" Формат ГЭ - Generic. Что не так?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Документировано.
Аргумент типа STRING, связанный с аргументом, ограничивается 4-мя символами.
Привяжите OUT-аргумент SQL-запроса к строковому атрибуту любого канала (например, к атрибуту КОММЕНТАРИЙ). И этот атрибут выводите на экран.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2