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

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

Linda Hamilton
Linda Hamiltonasal
2024-12-28 21:30:14859semak imbas

How to Pass Multiple Values to an SQL

Meluluskan Senarai Parameter SQL "IN" dalam JasperReports

Apabila membina pertanyaan dalam JasperReports, selalunya perlu menggunakan predikat "IN" SQL untuk tapis data berdasarkan senarai nilai. Ini boleh dicapai dengan menyatakan secara dinamik nilai parameter dalam kod Java.

Pertimbangkan senario di mana pertanyaan menggunakan predikat "IN" untuk menapis pelanggan berdasarkan peranan mereka:

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

The Parameter "peranan" boleh menerima berbilang nilai integer, yang akan ditentukan secara dinamik semasa penjanaan laporan. Untuk menetapkan parameter ini menggunakan kod Java, ikut langkah berikut:

JasperReports menyediakan pembolehubah khas, "$X," yang memudahkan pengendalian parameter "IN":

select * from customer where $X{IN,customer_role,roles}

Ungkapan ini akan berkesan sertakan nilai yang dinyatakan dalam parameter "peranan" dalam predikat "IN". Seperti yang diserlahkan dalam dokumentasi yang dipautkan, pendekatan ini serasi dengan JasperReports versi 3.5 dan lebih baru dan memastikan pengendalian yang betul bagi berbilang nilai parameter.

Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Berbilang Nilai kepada Klausa 'IN' SQL dalam JasperReports?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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