Maison > base de données > tutoriel mysql > Comment transmettre une liste de paramètres Dynamic SQL « IN » dans JasperReports ?

Comment transmettre une liste de paramètres Dynamic SQL « IN » dans JasperReports ?

Mary-Kate Olsen
Libérer: 2024-12-31 08:15:10
original
569 Les gens l'ont consulté

How to Pass a Dynamic SQL

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

Lors de la génération de JasperReports avec des requêtes SQL à l'aide du prédicat "IN", l'affectation dynamique des paramètres peut être réalisé grâce à la programmation Java. Explorons comment définir dynamiquement la valeur du paramètre "rôles".

La requête en question :

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

Assignation de paramètres en Java

JasperReports fournit une variable spéciale, $X, pour définir les paramètres de manière dynamique. Pour attribuer une liste de valeurs au paramètre « rôles », utilisez la syntaxe suivante :

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

Voici un exemple de la façon de définir la valeur du paramètre par programme en 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);
Copier après la connexion

Notes supplémentaires

  • La liste des rôles doit être de type ArrayList.
  • Référez-vous à la documentation JasperReports pour plus de détails sur la gestion des 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