Здравствуйте!
Подскажите, как правильно работать с результатами select в случае, когда нужно получить более одного столбца и более одной строки данных из базы? Что-то ничего в голову не приходит.
запрос вот, например, такой:
<queries><querysql="select pid, project from data;"><resultvar="pid"/><resultvar="projects"/></query></queries>
как-то быть, если надо обработать (пропустить через последующие шаги процесса) все пары {pid,project} последовательно друг за другом?
Спасибо!
Last edit: ViKu 2015-09-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
как-то быть, если надо обработать (пропустить через последующие шаги процесса) все пары {pid,project} последовательно друг за другом?
Если select возвращает более одной "пары", то переменные pid и projects должны быть списками с соответствующим типом.
Для обработки всех полученных значений pid и projects можно организовать цикл с применением таких обработчиков как "Агрегатная функция" (для определения количества элементов в списке), "Получить элемент списка" (для выбора элемента из списка по индексу).
В attachments прикрепил пример процесса, выполняющего:
- считывание из дефолтной БД списка всех исполнителей (Executor(id, name))
- цикл обхода всех считанных пар id,name
- отображение каждого исполнителя (id,name) на форме
Еще можно воспользоваться обработчиком "Groovy" с написанием необходимого кода, но это требует навыков программирования и зависит от конкретной задачи...
Здравствуйте!
Подскажите, как правильно работать с результатами select в случае, когда нужно получить более одного столбца и более одной строки данных из базы? Что-то ничего в голову не приходит.
запрос вот, например, такой:
как-то быть, если надо обработать (пропустить через последующие шаги процесса) все пары {pid,project} последовательно друг за другом?
Спасибо!
Last edit: ViKu 2015-09-13
Здравствуйте.
Если select возвращает более одной "пары", то переменные pid и projects должны быть списками с соответствующим типом.
Для обработки всех полученных значений pid и projects можно организовать цикл с применением таких обработчиков как "Агрегатная функция" (для определения количества элементов в списке), "Получить элемент списка" (для выбора элемента из списка по индексу).
В attachments прикрепил пример процесса, выполняющего:
- считывание из дефолтной БД списка всех исполнителей (Executor(id, name))
- цикл обхода всех считанных пар id,name
- отображение каждого исполнителя (id,name) на форме
Еще можно воспользоваться обработчиком "Groovy" с написанием необходимого кода, но это требует навыков программирования и зависит от конкретной задачи...
Добрый день!
Спасибо за ответ и пример процесса. Моей ошибкой было использование Карт для результатов запроса сценария.
Вариант с groovy тоже планирую попробовать.
Спасибо!