Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: ARV от 25 Декабря 2024, 09:34:38
-
Вопрос такой: если имеется несколько скриптов типа "Выполнен SQL-запрос", каков порядок их обработки?
Или в проекте должен быть только один скрипт такого типа, который должен обрабатывать все возможные запросы?
Похоже, что вариант второй, но либо я проглядел, где это сказано, либо с этим надо что-то делать...
-
Или в проекте должен быть только один скрипт такого типа, который должен обрабатывать все возможные запросы?
Можно создавать любое количество скриптов любого типа. Если в проекте 10 скриптов "Выполнен SQL-запрос", то все они будут вызваны после завершения любого SQL-запроса вызванного через RunSQL, как и описано при создании скрипта. Аналогично работают и другие типы скриптов не связанные с объектами мнемосхем.
каков порядок их обработки?
Порядок вызова соответствует порядку в дереве скриптов. Непонятно, зачем знать порядок? Можно в одном скрипте написать обработку результата запроса А, в другом обработать результат запроса B и от изменения порядка скриптов ничего не изменится. Можно создать один скрипт и в нём обрабатывать все запросы, результат будет тот же.
Опишите конкретную задачу, которую требуется решить, мы напишем решение.
Если у Вас запросы связаны и требуется выполнять их последовательно, то нужно делать так:
1. Вызвать выполнение запроса А через RunSQL с уникальным тегом, например = 1;
2. В скрипте "Выполнен SQL-запрос" проверить, что выполнился запрос помеченный нужным тегом (if DataSet.Tag = 1 then) и отправить в БД второй запрос с тегом = 2;
3. В скрипте "Выполнен SQL-запрос" (можно в том же самом, можно и в отдельном, это неважно) проверить, что выполнился запрос помеченный нужным тегом 2 и выполнить другие действия.
-
Спасибо.
Изначально я предполагал. что все однотипные скрипты вызываются при соответствующем условии, но в процессе работы что-то не заладилось у меня, и я начал думать, что или порядок важен, или вызывается только один скрипт, поэтому задал вопрос.
Теперь все стало по полочкам.