Pietr_Alekseievitch_Kropotkine
Messages postés3Date d'inscriptionjeudi 30 décembre 2004StatutMembreDernière intervention11 mars 2008
-
11 mars 2008 à 11:27
Pietr_Alekseievitch_Kropotkine
Messages postés3Date d'inscriptionjeudi 30 décembre 2004StatutMembreDernière intervention11 mars 2008
-
11 mars 2008 à 17:28
Bonjour à tous ,
Je dois utiliser l'outil de reporting pour imprimer et je rencontre quelques problèmes
J' ai créer un fichier .jasper que j' appelle dans mon code java comme suit :
public JasperTest(Piece p) {
HashMap parameters= new HashMap();
// - Paramètres de connexion à la base de données
Connection m_con;
m_con=ConnexionBDD.getConnexion();
try {
// - Paramètres à envoyer au rapport
parameters.put("id",new Short(p.getIdPiece()));
// - Execution du rapport
JasperPrint jasperPrint = JasperFillManager.fillReport("test.jasper", parameters, m_con);
// - Création du rapport au format PDF
JasperExportManager.exportReportToPdfFile(jasperPrint, "pieces/piece_n_"+p.getIdPiece()+".pdf");
net.sf.jasperreports.view.JasperViewer.viewReport(jasperPrint,false);
}
je lui passe en parametre un short, qui correspond a l'ID de la piece que je souhaite imprimer, et theoriquement mon test.jasper execute sa requete avec "select... from ... where pieces.id_piece = $P{id}"
malheureusement cela ne fonctionne pas il me met en permanence : "le document ne contient aucune page" et enregistre un .pdf vide Si quelqu'un a deja rencontré un tel probleme ou a une idee d'ou vient celui-ci qu'il n'hesite pas car je commence a desesperer.....
Je precise quand meme que ma variable p.getIdPiece() n'est pas null et qu'une piece est bien attribuée a cet ID.
Merci d'avance!
Pietr_Alekseievitch_Kropotkine
Messages postés3Date d'inscriptionjeudi 30 décembre 2004StatutMembreDernière intervention11 mars 20081 11 mars 2008 à 17:28
bon, ca avance un peu, j'ai tous repris depuis le debut :
try {
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException ex1)
{
}
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/" +
"####?user=####&password=##");
// - Paramètres à envoyer au rapport
parameters.put("id",new Short((short)18));
// - Création du rapport au format PDF
JasperPrint print = JasperFillManager.fillReport("Rapport_sans titre_1.jasper",
parameters, new JREmptyDataSource());
JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,"piece.pdf");
exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);
exporter.exportReport();
net.sf.jasperreports.view.JasperViewer.viewReport(print,false);}
Avec ca j'affiche bien mon report avec des donnee null, mais lorsque je passe
ma connexion en parametre, cad:
JasperPrint print = JasperFillManager.fillReport("Rapport_sans titre_1.jasper",
parameters,connection);
je reviens avec cette erreur : "le document ne contient aucune page"
Alors si qqn a une idée, qu'il n' hesite pas.....
Merci
Pietr_Alekseievitch_Kropotkine
Messages postés3Date d'inscriptionjeudi 30 décembre 2004StatutMembreDernière intervention11 mars 20081 11 mars 2008 à 15:51
Merci d' avoir repondus si vite!
J'ai essayé, comme tu me le disais de faire un test sans parametre et il s' avere que ca ne resout rien,
malheureusement.
Concernant le traceur, il s'agit d'une bdd Mysql, et je ne connais pas d'outil de ce genre pour MySQL (j'ai essayer avec FlexTracer sans succes)
Si tu as d'autres idees n' hesite pas....