Тема / Topic: Вставка в текст запроса значений каналов
Malinovsky
Junior Member / Новичок
Участник № / Member № 981
отправлено / posted
Приведите, пожалуйста, пример запроса в файле odbc.cfg ,чтобы в таблицу базы данных можно было передать значения каналов только в некоторые поля (не все одноименные сразу). В Help написано следующее: " В текст запроса можно вставить текущие значения каналов, имеющих подтип ПУСТОЙ и дополнение к подтипу SQL_where . Поле в тексте запроса, куда при выполнении последнего будет подставлено значение такого канала, обозначается символами #. Не занятые позиции этого поля заполняются пробелами ". Что-то я ничего не понял про эти символы и пробелы.
В системе ODBC настроено правильно, обмен ТМ5.15 с MySQL происходит (запрос типа "SQL2=INSERT INTO tab" работает нормально).
Сообщения / Posts 12 | Из / From: Беларусь
| IP / IP: IP адрес / IP address |
отправлено / posted
Это означчает, что если в проекте есть канала подтипа ПУСТОЙ_SQL where, его настройки совпадают с каналом ПУСТОЙ_SQL выполнить, который в свою очередь выполняет запрос с указанием символов '#' в запросе, то вместо этих символов будет осуществлена подстановка значения канала ПУСТОЙ_SQL where. Имя этого канала должно совпадать с именем поля в условии с символами '#'. Например: есть запрос вида SELECT * FROM table WHERE ch_value=### В базе есть канал ПУСТОЙ_SQL where с именем ch_value и его значение =11, тогда запрос в итоге будет таким: SELECT * FROM table WHERE ch_value=11
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Malinovsky
Junior Member / Новичок
Участник № / Member № 981
отправлено / posted
1.Про запросы на чтение из базы данных все понятно,но я спрашивал про передачу в таблицу?! (например, с помощью оператора INSERT INTO) 2.Сколько символов " # " нужно указывать в запросе или это не принципиально? 3.Что означает в Неlp " Не занятые позиции этого поля заполняются пробелами "?
Сообщения / Posts 12 | Из / From: Беларусь
| IP / IP: IP адрес / IP address |
отправлено / posted
1)2) При запросе INSERT INTO это не используется - система сама дополнит запрос именами полей и значениями для вставки из каналов ПУСТО_SQL для вставки. 3) Это и означает - если у Вас указано три символа ###, а число для вставки двузначное, то третий символ # заменится на пробел.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |