queryString tag - PO-31/QtReports-OLD GitHub Wiki

QueryString

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

Пример использования

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

Первый способ

$P{paramName}

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

<queryString>

<!CDATA[

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

]]>

</queryString>

Второй способ (Не реализован)

$P!{paramName}

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

<queryString>

<![CDATA[

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

]]>

</queryString>

Третий способ (Не реализован)

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

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

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

<queryString>

<![CDATA[

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

]]>

</queryString>