Bonjour à tous,
J'ai un rapport qui doit se générer en fonction d'un paramètre rentré par l'utilisateur, j'ai suivis deux tutoriels différents mais même en m'appuyant sur ces tutoriels j'ai une erreur à cause de mon paramètre.
alors voilà je tape cette requête dans "données"->"consultation de rapport" :
J'ai ensuite ajouté le paramètre city dans "structure du document"->"Paramètre" en prenant soin de cocher "invite" pour que lors de l'execution il me demande une valeur pour ce paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5select cust_id, cust_name, city from trg_customer cu, trg_city ci where cu.city_id = ci.city_id and ci.city = "$P{city}" order by cust_id
Je fais mon rapport, dans "structure du document"->"champs" je prend les champs de mon select et je les fais glisser dans mon rapport.
Je lance l'execution, il me demande de rentrer une valeur pour city donc j'écris Paris.
La compilation plante, voici le message d'erreur :
J'ai bien vu que le problème venait de mon paramètre, car bien qu'il me demande de lui attribuer une valeur la compilation me renvoi "No parameters defined during prepareCall()" mais je ne vois pas ce que j'aurais mal fais, si quelqu'un peut m'aider...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Erreur lors du remplissage de limpression Error preparing statement for executing the report query : select cust_id, cust_name, city from trg_customer cu, trg_city ci where cu.city_id = ci.city_id and ci.city = "?" order by cust_id net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query : select cust_id, cust_name, city from trg_customer cu, trg_city ci where cu.city_id = ci.city_id and ci.city = "?" order by cust_id at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:192) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:123) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:683) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:615) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1203) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:842) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:795) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:944) at java.lang.Thread.run(Unknown Source) Caused by: java.sql.SQLException: No parameters defined during prepareCall() at com.mysql.jdbc.ServerPreparedStatement.getBinding(ServerPreparedStatement.java:741) at com.mysql.jdbc.ServerPreparedStatement.setString(ServerPreparedStatement.java:1775) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:363) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:209) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:184) ... 11 more Limpression nest pas complétée. Essayez dutiliser une EmptyDataSource...
Partager