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

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

   
Автор / Author Тема / Topic: Использование SQL-запросов в программе
Чижиков Андрей
Junior Member / Новичок
Участник № / Member № 7067


Icon 1 отправлено / posted      Профиль для / Profile for Чижиков Андрей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Доброго времени суток!
Возник вопрос по использованию SQL запросов в подпрограмме на ST.
Как получить значение по результату работы SQL запроса SELECT.
Например есть запрос к БД типа:
code:
    
SELECT
Table1.Parametr1 #ARG_000#
FROM
Table1
WHERE
Table1.Nomer = 2

и кнопка при нажатии которой выполняется определенная подпрограмма в которой необходимо выполнить этот запрос и использовать результат для дальнейших вычислений. В программе
code:
PROGRAM
VAR_INOUT База_данных_1_1_In : REAL; END_VAR

База_данных_1_1_In=1;

END_PROGRAM

А вот дальше не знаю как получить результат выполнения запроса. [duno / незнайка]
Сообщения / Posts 3 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
После передачи 1
База_данных_1_1_In=1;

надо проверять автоматический сброс значения База_данных_1_1_In после завершения запроса.

Затем уже можно обрабатывать полученные данные.

Программа должна считывать аргументы канала База_данных_1_1 и анализировать их.
Для этого можно, например, связать соответствующие аргументы программы с аргументами канала База_данных_1_1.
Как вариант - использовать специальные функции ST-программы (см. документацию):

"//чтение атрибута канала (целое со знаком,

//4 байта)

DINT getAttributeI(UDINT ch_id, UINT attr_id)

//чтение атрибута канала (вещественное, 4 байта)

REAL getAttributeF(UDINT ch_id, UINT attr_id)


"

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


Icon 1 отправлено / posted      Профиль для / Profile for nordoil           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
6.Здравствуйте.При попытке получить значение из «подключение к БД» (запись во «входное значение» «1») процедура получения одной строчки затягивается до минут. Почему при выполнении в среде IDE на получение той же записи уходит примерно 0.5 сек., а при выполнении в профайлере то же самое затягивается на минуты?
(ЗЫ: за один раз выполняется только один вызов «подключение к БД», использована ST программа последовательного опроса )

Сообщения / Posts 14 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Какую БД Вы используете?
Сколько записей в таблице БД?
Как заданы условия выборки данных из таблицы?
Как реализуется считывание строки непосредственно из IDE?
Можете прислать проект и БД на адрес техподдержки?

Сообщения / Posts 15514 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если отключить программу на ST и вручную записать 1 во входное значение тоже 1 мин будет
Сообщения / Posts 578 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
nordoil
Junior Member / Новичок
Участник № / Member № 7691


Icon 1 отправлено / posted      Профиль для / Profile for nordoil           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1) mssql
2) 15 записей
3) select top 1 t1.value #par1#, t1.date #par2# from t1,t2 where t1.id=t2.id_t1 and t2.name='#par3#'

4)из IDE убираю [and t2.name='#par3#'] и нажимаю на выполнить
5)выслал на hotline3

[ 16.08.2018, 11:23: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

Сообщения / Posts 14 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Письмо получили. Почтой выслали рекомендации по дополнительной диагностике.
Сообщения / Posts 15514 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
VlasovV
Junior Member / Новичок
Участник № / Member № 7703


Icon 1 отправлено / posted      Профиль для / Profile for VlasovV           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В моем проекте используется несколько подключений к БД, выполняющих различные функции (чтение начальных параметров, запись в СПАД, изменение имен объектов ИТП). Во всех я указал "начальные" ЛОГИН/ПАРОЛЬ. При смене пароля в процессе эксплуатации как поменять ЛОГИН/ПАРОЛЬ для всех подключений сразу?
Сообщения / Posts 10 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В настоящее время штатных возможностей для проведения таких процедур нет.
Сообщения / Posts 15514 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / 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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2