Übergabe der SQL „IN“-Parameterliste in JasperReports
Beim Generieren von JasperReports mit SQL-Abfragen unter Verwendung des „IN“-Prädikats kann eine dynamische Parameterzuweisung erfolgen durch Java-Programmierung erreicht werden. Lassen Sie uns untersuchen, wie Sie den Wert des Parameters „roles“ dynamisch festlegen.
Die betreffende Abfrage:
SELECT customer_name AS NAME, id_customer AS ID FROM customer WHERE customer_role IN ($P{roles})
Parameterzuweisung in Java
JasperReports bietet eine spezielle Variable, $X, zum dynamischen Festlegen von Parametern. Um dem Parameter „roles“ eine Liste von Werten zuzuweisen, verwenden Sie die folgende Syntax:
select * from customer where $X{IN,customer_role,roles}
Hier ist ein Beispiel für das programmgesteuerte Festlegen des Parameterwerts in Java:
// Get a JasperReports instance JasperPrint jasperPrint = jasperReport.fill(parametersMap, dataSource); // Create a new parameter list java.util.List<JRParameter> updatedParameters = new ArrayList<>(); // Add the "roles" parameter with the updated value updatedParameters.add(new JRParameter("roles", ArrayList.class, roles)); // Set the parameter list jasperPrint.setParameters(updatedParameters);
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie übergebe ich eine dynamische SQL-Parameterliste „IN' in JasperReports?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!