Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Meluluskan Berbilang Nilai Integer Secara Dinamik kepada Klausa 'IN' SQL dalam JasperReports?

Bagaimana untuk Meluluskan Berbilang Nilai Integer Secara Dinamik kepada Klausa 'IN' SQL dalam JasperReports?

Linda Hamilton
Lepaskan: 2024-12-22 02:55:10
asal
859 orang telah melayarinya

How to Dynamically Pass Multiple Integer Values to a SQL

Meluluskan Senarai Parameter SQL "IN" dalam JasperReports

Soalan:

Bagaimana saya boleh menetapkan nilai SQL Parameter predikat "IN" secara dinamik dalam Java semasa menjana JasperReport? Parameter boleh mempunyai berbilang nilai integer yang ditentukan pada masa jalan.

Jawapan:

JasperReports menyediakan pembolehubah khas, $X, untuk mengendalikan senario ini. Dengan menggunakan $X{IN,customer_role,role}, pertanyaan anda akan diterjemahkan kepada:

select * 
from customer 
where $X{IN,customer_role,roles}
Salin selepas log masuk

peranan pelanggan ialah nama lajur dan peranan ialah nama parameter.

Contoh :

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

Dengan menetapkan parameter peranan sebagai tatasusunan integer, pertanyaan akan menjana hasil hanya untuk pelanggan yang mempunyai ID peranan dalam senarai itu.

Rujukan:

  • [JasperReports Documentation - IN Operator](https://community .jaspersoft.com/wiki/IN-operator)
  • [Operator JasperReports: $X dan $P](https://wiki.pentaho.com/display/BAD/JasperReports Operators: $X dan $P)

Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Berbilang Nilai Integer Secara Dinamik kepada Klausa 'IN' SQL 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