Menu

Обработка результатов sql-запроса

Developers
ViKu
2015-09-13
2015-09-18
  • ViKu

    ViKu - 2015-09-13

    Здравствуйте!
    Подскажите, как правильно работать с результатами select в случае, когда нужно получить более одного столбца и более одной строки данных из базы? Что-то ничего в голову не приходит.

    запрос вот, например, такой:

    <queries>
      <query sql="select pid, project from data;">
        <result var="pid"/>
        <result var="projects"/>
      </query>
    </queries>
    

    как-то быть, если надо обработать (пропустить через последующие шаги процесса) все пары {pid,project} последовательно друг за другом?

    Спасибо!

     

    Last edit: ViKu 2015-09-13
  • vromav

    vromav - 2015-09-16

    Здравствуйте.

    как-то быть, если надо обработать (пропустить через последующие шаги процесса) все пары {pid,project} последовательно друг за другом?

    Если select возвращает более одной "пары", то переменные pid и projects должны быть списками с соответствующим типом.

    Для обработки всех полученных значений pid и projects можно организовать цикл с применением таких обработчиков как "Агрегатная функция" (для определения количества элементов в списке), "Получить элемент списка" (для выбора элемента из списка по индексу).

    В attachments прикрепил пример процесса, выполняющего:
    - считывание из дефолтной БД списка всех исполнителей (Executor(id, name))
    - цикл обхода всех считанных пар id,name
    - отображение каждого исполнителя (id,name) на форме

    Еще можно воспользоваться обработчиком "Groovy" с написанием необходимого кода, но это требует навыков программирования и зависит от конкретной задачи...

     
  • ViKu

    ViKu - 2015-09-18

    Добрый день!
    Спасибо за ответ и пример процесса. Моей ошибкой было использование Карт для результатов запроса сценария.

    Вариант с groovy тоже планирую попробовать.

    Спасибо!

     

Log in to post a comment.