queryString - PO-21/QtReports GitHub Wiki

<queryString> - шаблон,необходимый для определения SQL - запроса для данных отчета, если эти данные расположены в реляционных базах данных.


Существует три возможных способа использовать параметры запроса:

  • $P{paramName} Syntax

Эти параметры используются как обычные параметры, используя следующий синтаксис:

<queryString>

<!CDATA[

SELECT *FROM Orders WHERE orderID <= $P{MaxOrderID} ORDER BY ShipCountry

]]>

</queryString>

  • $P!{paramName} Syntax

Иногда бывает полезно использовать параметры для динамического изменения части SQL - запроса или для передачи всего SQL - запроса в качестве параметра для отчета наполнения процедур. В таких случаях синтаксис отличается немного, как показано в примере:

<queryString>

<![CDATA[

SELECT *FROM $P!{MyTable} ORDER BY $P!{OrderByClause}

]]>

</queryString>

  • $X{functionName, param1, param2, ...} Syntax

Есть такие случаи, когда часть запроса должна быть динамически построена исходя из значения параметра отчета, с частью запроса, содержащего как текст запроса и связывания параметров. Такие сложные элементы запроса вводятся в запрос с использованием синтаксиса $ X{}.

Например, если отчет получается в качестве параметра список стран и должен фильтровать заказы, основанные на этом списке, стоит написать запрос следующего вида:

<queryString>

<![CDATA[

SELECT *FROM Order WHERE $X{IN, ShipCountry, CountryList}

]]>

</queryString>