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

Wie übergebe ich Parameter an Abfragen in JasperReports?

Susan Sarandon
Freigeben: 2025-01-18 06:27:08
Original
831 Leute haben es durchsucht

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>
Nach dem Login kopieren
  • $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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage