Maison >base de données >tutoriel mysql >Comment transmettre plusieurs valeurs à une clause SQL « IN » dans JasperReports ?
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})
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}
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!