Maison > base de données > tutoriel mysql > Comment transmettre plusieurs valeurs à une clause SQL « IN » dans JasperReports ?

Comment transmettre plusieurs valeurs à une clause SQL « IN » dans JasperReports ?

Linda Hamilton
Libérer: 2024-12-28 21:30:14
original
877 Les gens l'ont consulté

How to Pass Multiple Values to an SQL

Passer la liste de paramètres SQL "IN" dans JasperReports

Lors de la construction de requêtes dans JasperReports, il est souvent nécessaire d'utiliser le prédicat "IN" de SQL pour filtrer les données en fonction d'une liste de valeurs. Ceci peut être réalisé en spécifiant dynamiquement les valeurs des paramètres dans le code Java.

Considérez le scénario dans lequel une requête utilise un prédicat « IN » pour filtrer les clients en fonction de leurs rôles :

SELECT customer_name AS NAME, 
       id_customer   AS ID 
  FROM customer 
 WHERE customer_role IN ($P{roles})
Copier après la connexion

Le Le paramètre "rôles" peut recevoir plusieurs valeurs entières, qui seront déterminées dynamiquement lors de la génération du rapport. Pour définir ce paramètre à l'aide du code Java, suivez ces étapes :

JasperReports fournit une variable spéciale, "$X", qui simplifie la gestion des paramètres "IN" :

select * from customer where $X{IN,customer_role,roles}
Copier après la connexion

Cette expression va effectivement inclure les valeurs spécifiées dans le paramètre « rôles » dans le prédicat « IN ». Comme souligné dans la documentation liée, cette approche est compatible avec les versions 3.5 et ultérieures de JasperReports et garantit la gestion correcte de plusieurs valeurs de paramètres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal