Heim >Datenbank >MySQL-Tutorial >Wie übergebe ich Parameter an Abfragen in JasperReports?

Wie übergebe ich Parameter an Abfragen in JasperReports?

Susan Sarandon
Susan SarandonOriginal
2025-01-18 06:27:08867Durchsuche

How to Pass Parameters to Queries in JasperReports?

Übergabe von Abfrageparametern in JasperReports

Mit JasperReports können Sie verschiedene Aspekte Ihrer Abfrage mithilfe von Parametern wie WHERE- und ORDER BY-Klauseln dynamisch steuern. Dies ist nützlich, wenn Sie möchten, dass Benutzer flexibel festlegen können, wie Daten abgerufen werden.

Parameterreferenzsyntax

Parameterreferenz hat zwei Syntaxausdrücke: $P{} und $P!{}.

  • $P{paramName} wird verwendet, um Parameter in der WHERE-Klausel zu ersetzen. Wenn Sie beispielsweise einen Parameter vom Typ java.lang.String mit dem Namen „eventName“ haben, können Sie ihn in der WHERE-Klausel wie folgt verwenden:
<code class="language-sql">WHERE name=$P{eventName}</code>
  • $P!{paramName} wird verwendet, um Parameter an einer beliebigen Stelle in der Abfrage zu ersetzen, einschließlich WHERE- und ORDER BY-Klauseln. Wenn Sie beispielsweise einen Parameter vom Typ java.lang.String mit dem Namen „order“ haben, können Sie ihn in einer ORDER BY-Klausel wie folgt verwenden:
<code class="language-sql">ORDER BY $P!{order}</code>

Umgang mit Parametertypen

$P{} Die Syntax ist „intelligent“ und verarbeitet verschiedene Parametertypen korrekt. Wenn Sie beispielsweise einen Parameter vom Typ java.lang.String haben, ersetzt die Engine $P{paramName} durch einen Wert in Anführungszeichen. Wenn Sie einen Parameter vom Typ java.lang.Integer haben, ersetzt die Engine $P{paramName} durch einen numerischen Wert.

Beispielverwendung

Um ein Feld aus der Datenbank als Parameter zu übergeben, können Sie die $P!{}-Syntax verwenden. Die folgende Abfrage verwendet beispielsweise den Parameter $P!{clause}, um die WHERE-Klausel anzugeben, und den Parameter $P!{order}, um die ORDER BY-Klausel anzugeben:

<code class="language-sql">SELECT name, phone, email
FROM company
WHERE $P!{clause} = $P{key}
ORDER BY $P!{order}</code>

In diesem Beispiel ist der Parameter $P!{clause} vom Typ java.lang.String und der Parameter $P!{order} vom Typ java.lang.String.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter an Abfragen in JasperReports?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn