Форум TRACE MODE: техническая поддержка   
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 5 » Работа в MS Windows (ODBC/DDE/OPC/NET) / Working under MS Windows » Вставка в текст запроса значений каналов

   
Автор / Author Тема / Topic: Вставка в текст запроса значений каналов
Malinovsky
Junior Member / Новичок
Участник № / Member № 981


Icon 1 отправлено / posted      Профиль для / Profile for Malinovsky           Редактировать/удалить сообщение / Edit/Delete Post 
Приведите, пожалуйста, пример запроса в файле odbc.cfg ,чтобы в таблицу базы данных можно было передать значения каналов только в некоторые поля (не все одноименные сразу). В Help написано следующее:
" В текст запроса можно вставить текущие значения каналов, имеющих подтип ПУСТОЙ и дополнение к подтипу SQL_where . Поле в тексте запроса, куда при выполнении последнего будет подставлено значение такого канала, обозначается символами #.
Не занятые позиции этого поля заполняются пробелами ". Что-то я ничего не понял про эти
символы и пробелы.

В системе ODBC настроено правильно, обмен ТМ5.15 с MySQL происходит (запрос типа "SQL2=INSERT INTO tab" работает нормально).

Сообщения / Posts 12 | Из / From: Беларусь  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
Это означчает, что если в проекте есть канала подтипа ПУСТОЙ_SQL where, его настройки совпадают с каналом ПУСТОЙ_SQL выполнить, который в свою очередь выполняет запрос с указанием символов '#' в запросе, то вместо этих символов будет осуществлена подстановка значения канала ПУСТОЙ_SQL where. Имя этого канала должно совпадать с именем поля в условии с символами '#'.
Например: есть запрос вида
SELECT * FROM table WHERE ch_value=###
В базе есть канал ПУСТОЙ_SQL where с именем ch_value и его значение =11,
тогда запрос в итоге будет таким:
SELECT * FROM table WHERE ch_value=11

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Malinovsky
Junior Member / Новичок
Участник № / Member № 981


Icon 1 отправлено / posted      Профиль для / Profile for Malinovsky           Редактировать/удалить сообщение / Edit/Delete Post 
[Недоумение / Confused] 1.Про запросы на чтение из базы данных все понятно,но я спрашивал про передачу в таблицу?! (например, с помощью оператора INSERT INTO)
2.Сколько символов " # " нужно указывать в запросе или это не принципиально?
3.Что означает в Неlp " Не занятые позиции этого поля заполняются пробелами "?

Сообщения / Posts 12 | Из / From: Беларусь  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post 
1)2) При запросе INSERT INTO это не используется - система сама дополнит запрос именами полей и значениями для вставки из каналов ПУСТО_SQL для вставки.
3) Это и означает - если у Вас указано три символа ###, а число для вставки двузначное, то третий символ # заменится на пробел.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

   Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2