Jasper Reports: Comment passer plusieurs requêtes SQL à partir d'un Programme Java
J'ai construit une Jasper Rapport à l'aide d'outil iReport, où j'ai enregistré deux ensembles de données, l'un à polulate les données dans une table, et d'autres pour afficher un graphique.
La configuration a réussi à l'aide de l'outil et quand je vois le rapport, il me donne les données adéquates. Comment jamais, lorsque j'essaie d'appeler les requêtes à partir d'un programme Java, je suis perdu. Comment dois-je faire à propos de la manipulation de ce? Je ne peux passer une seule requête avec le code source de l'exemple que j'ai en que mon programme.
Exemple de code Source, je suis en utilisant:
Connection conn = getConnection("172.16.88.171", "1522", "orcl", "audi", "audi");
System.out.println("Got jdbc connection...");
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("SELECT DB_USER, OS_USER, USERHOST, STATEMENT_TYPE, SQL_TEXT FROM DBA_FGA_AUDIT_TRAIL");
InputStream input = new FileInputStream(new File("E:\\jasper_reports\\sampleADPTemplate_chart.jrxml"));
JasperDesign design = JRXmlLoader.load(input);
JasperReport report = JasperCompileManager.compileReport(design);
JasperPrint print = JasperFillManager.fillReport(report, new HashMap(), conn);
OutputStream output = new FileOutputStream(new File("E:\\jasper_reports\\JasperReporttoPDF.pdf"));
JasperExportManager.exportReportToPdfStream(print, output);
Ce passe seulement une seule requête; Comment dois-je aller sur la transmission de plusieurs requêtes.
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vous avez seulement besoin de stocker vos requêtes entièrement à l'intérieur de votre iReport fichier jrxml. Afin de rendre votre rapport flexible, utilise des paramètres. De cette façon, vous permettez à l'utilisateur de définir les valeurs nécessaires à l'exécution.
Vous pouvez voir ici un exemple qui obtient deux valeurs à partir de deux listes déroulantes, les ajoute à une HashMap et passe la carte à iReport. Ces paramètres, pour cet exemple "
storeName
" et "actionCode
", sont utilisés pour spécifier les valeurs de la requête qui est stocké à l'intérieur de la iReport.Vous pouvez avoir plusieurs requêtes à l'intérieur de Sous-Rapports.