Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Lulus Senarai Parameter 'IN' SQL Dinamik dalam JasperReports?

Bagaimana untuk Lulus Senarai Parameter 'IN' SQL Dinamik dalam JasperReports?

Mary-Kate Olsen
Lepaskan: 2024-12-31 08:15:10
asal
569 orang telah melayarinya

How to Pass a Dynamic SQL

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})
Salin selepas log masuk

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}
Salin selepas log masuk

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);
Salin selepas log masuk

Nota Tambahan

  • Senarai peranan hendaklah mengikut jenis ArrayList.
  • Rujuk dokumentasi JasperReports untuk mendapatkan butiran lanjut tentang pengendalian parameter.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan