Heim > Datenbank > MySQL-Tutorial > Wie übergebe ich dynamisch mehrere ganzzahlige Werte an eine SQL-„IN'-Klausel in JasperReports?

Wie übergebe ich dynamisch mehrere ganzzahlige Werte an eine SQL-„IN'-Klausel in JasperReports?

Linda Hamilton
Freigeben: 2024-12-22 02:55:10
Original
859 Leute haben es durchsucht

How to Dynamically Pass Multiple Integer Values to a SQL

Übergabe der SQL „IN“-Parameterliste in JasperReports

Frage:

Wie kann ich den Wert eines SQL festlegen? Prädikatparameter „IN“ dynamisch in Java beim Generieren eines JasperReports? Der Parameter kann mehrere ganzzahlige Werte haben, die zur Laufzeit ermittelt werden.

Antwort:

JasperReports stellt eine spezielle Variable, $X, zur Verfügung, um dieses Szenario zu bewältigen. Durch die Verwendung von $X{IN,customer_role,roles} wird Ihre Abfrage wie folgt übersetzt:

select * 
from customer 
where $X{IN,customer_role,roles}
Nach dem Login kopieren

wobei customer_role der Spaltenname und Roles der Parametername ist.

Beispiel :

Map<String, Object> parameters = new HashMap<>();
parameters.put("roles", Arrays.asList(1, 2, 3));
JasperReport jasperReport = JasperCompileManager.compileReportToFile(templatePath);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);
Nach dem Login kopieren

Durch Festlegen des Rollenparameters als Array von Ganzzahlen generiert die Abfrage nur Ergebnisse für Kunden mit Rollen-IDs in dieser Liste.

Referenzen:

  • [JasperReports-Dokumentation – IN-Operator](https://community.jaspersoft.com/wiki /IN-Operator)
  • [JasperReports-Operatoren: $X und $P](https://wiki.pentaho.com/display/BAD/JasperReports Operatoren: $X und $P)

Das obige ist der detaillierte Inhalt vonWie übergebe ich dynamisch mehrere ganzzahlige Werte an eine SQL-„IN'-Klausel 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