Heim > Datenbank > MySQL-Tutorial > Wie übergebe ich eine Variablenparameterliste an das SQL-„IN'-Prädikat von JasperReports?

Wie übergebe ich eine Variablenparameterliste an das SQL-„IN'-Prädikat von JasperReports?

Susan Sarandon
Freigeben: 2024-12-22 17:46:14
Original
949 Leute haben es durchsucht

How to Pass a Variable Parameter List to JasperReports' SQL

Übergabe einer Variablenparameterliste in JasperReports mithilfe des SQL-Prädikats „IN“

Bei der Arbeit mit JasperReports und dem SQL-Prädikat „IN“ ist dies der Fall ist erforderlich, um eine Parameterliste dynamisch an die Abfrage zu übergeben. In diesem Artikel wird gezeigt, wie Sie den Wert eines Parameters festlegen, der eine Liste ganzzahliger Werte in einem Java-Programm enthält.

Die folgende SQL-Abfrage erfordert eine Parameterliste „Rollen“, die einen oder mehrere ganzzahlige Werte enthält:

SELECT customer_name AS NAME, 
       id_customer   AS ID 
  FROM customer 
 WHERE customer_role IN ($P{roles})
Nach dem Login kopieren

Um den Wert des Parameters „roles“ in Java dynamisch festzulegen, verwenden Sie die von bereitgestellte Variable „$X“. JasperReports:

// Assume the "roles" parameter is a list of integers
List<Integer> roles = ...;

// Convert the list to a comma-separated string
String roleString = roles.stream().map(String::valueOf).collect(Collectors.joining(","));

// Set the parameter value using the "$X" variable
parameters.put("roles", "$X{IN,customer-role," + roleString + "}");
Nach dem Login kopieren

Mit der Syntax „$X{IN,column-name,parameter-name}“ können Sie die zu vergleichende Spalte, den Parameternamen und die Werteliste angeben.

Zum Beispiel würde die folgende Abfrage den Parameter „roles“ verwenden, um eine Spalte namens „customer_role“ zu filtern:

SELECT * 
  FROM customer 
 WHERE $X{IN,customer_role,roles}
Nach dem Login kopieren

Dies Mit der Lösung können Sie eine dynamische Parameterliste an das SQL-Prädikat „IN“ in JasperReports übergeben und so sicherstellen, dass die Abfrage die Daten basierend auf den bereitgestellten Werten korrekt filtert.

Das obige ist der detaillierte Inhalt vonWie übergebe ich eine Variablenparameterliste an das SQL-„IN'-Prädikat von 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