Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: SQL-запрос выполнен - поведение, если таких скриптов несколько  (Прочитано 701 раз)

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Вопрос такой: если имеется несколько скриптов типа "Выполнен SQL-запрос", каков порядок их обработки?
Или в проекте должен быть только один скрипт такого типа, который должен обрабатывать все возможные запросы?

Похоже, что вариант второй, но либо я проглядел, где это сказано, либо с этим надо что-то делать...

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3202
    • Просмотр профиля
    • Simple-Scada
Цитировать
Или в проекте должен быть только один скрипт такого типа, который должен обрабатывать все возможные запросы?
Можно создавать любое количество скриптов любого типа. Если в проекте 10 скриптов "Выполнен SQL-запрос", то все они будут вызваны после завершения любого SQL-запроса вызванного через RunSQL, как и описано при создании скрипта. Аналогично работают и другие типы скриптов не связанные с объектами мнемосхем.

Цитировать
каков порядок их обработки?
Порядок вызова соответствует порядку в дереве скриптов. Непонятно, зачем знать порядок? Можно в одном скрипте написать обработку результата запроса А, в другом обработать результат запроса B и от изменения порядка скриптов ничего не изменится. Можно создать один скрипт и в нём обрабатывать все запросы, результат будет тот же.

Опишите конкретную задачу, которую требуется решить, мы напишем решение.
Если у Вас запросы связаны и требуется выполнять их последовательно, то нужно делать так:
1. Вызвать выполнение запроса А через RunSQL с уникальным тегом, например = 1;
2. В скрипте "Выполнен SQL-запрос" проверить, что выполнился запрос помеченный нужным тегом (if DataSet.Tag = 1 then) и отправить в БД второй запрос с тегом = 2;
3. В скрипте "Выполнен SQL-запрос" (можно в том же самом, можно и в отдельном, это неважно) проверить, что выполнился запрос помеченный нужным тегом 2 и выполнить другие действия.

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Спасибо.
Изначально я предполагал. что все однотипные скрипты вызываются при соответствующем условии, но в процессе работы что-то не заладилось у меня, и я начал думать, что или порядок важен, или вызывается только один скрипт, поэтому задал вопрос.
Теперь все стало по полочкам.