This is topic Вставка в текст запроса значений каналов in forum Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows at Форум TRACE MODE: техническая поддержка.


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

Posted by Malinovsky (Участник № / Member № 981) on :
 
Приведите, пожалуйста, пример запроса в файле odbc.cfg ,чтобы в таблицу базы данных можно было передать значения каналов только в некоторые поля (не все одноименные сразу). В Help написано следующее:
" В текст запроса можно вставить текущие значения каналов, имеющих подтип ПУСТОЙ и дополнение к подтипу SQL_where . Поле в тексте запроса, куда при выполнении последнего будет подставлено значение такого канала, обозначается символами #.
Не занятые позиции этого поля заполняются пробелами ". Что-то я ничего не понял про эти
символы и пробелы.

В системе ODBC настроено правильно, обмен ТМ5.15 с MySQL происходит (запрос типа "SQL2=INSERT INTO tab" работает нормально).
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Это означчает, что если в проекте есть канала подтипа ПУСТОЙ_SQL where, его настройки совпадают с каналом ПУСТОЙ_SQL выполнить, который в свою очередь выполняет запрос с указанием символов '#' в запросе, то вместо этих символов будет осуществлена подстановка значения канала ПУСТОЙ_SQL where. Имя этого канала должно совпадать с именем поля в условии с символами '#'.
Например: есть запрос вида
SELECT * FROM table WHERE ch_value=###
В базе есть канал ПУСТОЙ_SQL where с именем ch_value и его значение =11,
тогда запрос в итоге будет таким:
SELECT * FROM table WHERE ch_value=11
 
Posted by Malinovsky (Участник № / Member № 981) on :
 
[Недоумение / Confused] 1.Про запросы на чтение из базы данных все понятно,но я спрашивал про передачу в таблицу?! (например, с помощью оператора INSERT INTO)
2.Сколько символов " # " нужно указывать в запросе или это не принципиально?
3.Что означает в Неlp " Не занятые позиции этого поля заполняются пробелами "?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1)2) При запросе INSERT INTO это не используется - система сама дополнит запрос именами полей и значениями для вставки из каналов ПУСТО_SQL для вставки.
3) Это и означает - если у Вас указано три символа ###, а число для вставки двузначное, то третий символ # заменится на пробел.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2