Meluluskan Senarai Parameter "IN" SQL dalam JasperReports
Apabila menjana JasperReports dengan pertanyaan SQL menggunakan predikat "IN", penetapan parameter dinamik boleh dicapai melalui pengaturcaraan Java. Mari kita terokai cara untuk menetapkan nilai parameter "peranan" secara dinamik.
Pertanyaan yang dimaksudkan:
SELECT customer_name AS NAME, id_customer AS ID FROM customer WHERE customer_role IN ($P{roles})
Penugasan Parameter dalam Java
JasperReports menyediakan pembolehubah khas, $X, untuk menetapkan parameter secara dinamik. Untuk memberikan senarai nilai kepada parameter "peranan", gunakan sintaks berikut:
select * from customer where $X{IN,customer_role,roles}
Berikut ialah contoh cara menetapkan nilai parameter secara pemprograman dalam 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);
Nota Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Lulus Senarai Parameter 'IN' SQL Dinamik dalam JasperReports?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!