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>