IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Erreur Java - Connexion MySQL - JasperReport


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Par défaut Erreur Java - Connexion MySQL - JasperReport
    Bonjour à tous,

    Je ne développe jamais en java, j'ai juste bidouillé des bouts de code pour réussir à créer des reports avec JasperReport. J'ai juste fait du C / C++ il y a quelques années.

    Problème, j'ai des erreurs et je ne suis pas assez fort malgré tout pour arriver à toutes les surmonter avec google, bien que je suis parti de loin au début.

    Voici les erreurs :

    certif.java:45: warning: Map is a raw type. References to generic type Map<K,V> should be parameterized
    Map parameters = new HashMap();
    ^^^
    certif.java:45: warning: HashMap is a raw type. References to generic type HashMap<K,V> should be parameterized
    Map parameters = new HashMap();
    ^^^^^^^
    certif.java:46: warning: Type safety: The method put(Object, Object) belongs to the raw type Map. References to generic type Map<K,V> should be parameterized
    parameters.put("user",user);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    certif.java:47: warning: Type safety: The method put(Object, Object) belongs to the raw type Map. References to generic type Map<K,V> should be parameterized
    parameters.put("titre",title);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    certif.java:48: warning: Type safety: The method put(Object, Object) belongs to the raw type Map. References to generic type Map<K,V> should be parameterized
    parameters.put("date_ex",date_ex);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    certif.java:52: warning: The local variable jasperPrint is never read
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
    ^^^^^^^^^^^
    6 problems (6 warnings)


    Voici le code :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
    import java.sql.*;
     
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JasperCompileManager;
    import net.sf.jasperreports.engine.JasperExportManager;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.design.JasperDesign;
    import net.sf.jasperreports.engine.xml.JRXmlLoader;
     
    import com.mysql.jdbc.Driver;
     
    public class certif {
     
        public static void main(String[] args) {
     
            // - Paramètres de connexion à la base de données
            String url = "jdbc:mysql://localhost/chamilo_main";
            String login = "root";
            String password = "********";
            Connection connection = null;
     
            try {
                // - Connexion à la base
                Driver monDriver = new com.mysql.jdbc.Driver();
                DriverManager.registerDriver(monDriver);
                connection = DriverManager.getConnection(url, login, password);
     
                Statement s = connection.createStatement ();
                s.executeQuery ("SELECT CONCAT(firstname,' ',lastname), ce.title, te.exe_result ,te.exe_weighting, te.exe_date, te.exe_id, user.email, user.user_id FROM `chamilo_mabase`.`quiz` AS ce , `chamilo_main`.`track_e_exercices` AS te, `chamilo_main`.`user` AS user,`chamilo_main`.`course_rel_user` AS cuser WHERE  user.user_id=cuser.user_id AND cuser.relation_type<>1 AND te.exe_exo_id = ce.id AND te.status != 'incomplete' AND cuser.user_id=te.exe_user_id AND cuser.status<>1  AND ce.session_id = 0  AND ce.active <>-1 AND orig_lp_id = 0 AND orig_lp_item_id = 0 AND cuser.course_code=te.exe_cours_id ORDER BY te.exe_cours_id ASC, ce.title ASC, te.exe_date ASC");
     
                ResultSet rs = s.getResultSet ();
                int count = 0;
                while (rs.next ())
                {
                    String user = rs.getString ("CONCAT(firstname,' ',lastname)");
                    String title = rs.getString ("title");
                    String date_ex = rs.getString ("exe_date");
                    Map parameters = new HashMap();
                    parameters.put("user",user);
                    parameters.put("titre",title);
                    parameters.put("date_ex",date_ex);
     
                    JasperDesign jasperDesign = JRXmlLoader.load("modele.jrxml");
    		JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    		JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
    		JasperExportManager.exportReportToPdfFile(user + " " + date_ex + ".pdf");
                    ++count;
       	    }
                rs.close ();
                s.close ();
                System.out.println ("ok");
            } catch (JRException e) {
     
                e.printStackTrace();
            } catch (SQLException e) {
     
                e.printStackTrace();
            } finally {
                try {
                     connection.close();
                    } catch (SQLException e) {
     
                            e.printStackTrace();
                    }
            }
     
        }
    }
    La commande exécutée sur environnement linux debian avec GCJ :
    - gcj --classpath="./jasperreports-2.0.3.jar:mysql-connector-java-3.1.11-bin.jar" certif.java


    Ce que le code source est censé faire :
    - se connecter à la base mySQL
    - récupère un ensemble de ligne correspondant à des personnes, avec leur résultats qu'ils ont obtenus sur un quizz (ex : LULU LALA - Sécurité des données le QUIZZ - 3/5)
    - pour chaque ligne, créé un report JasperReport en envoyant les paramètres (nom prénom du gars, quizz sur lequel il a travaillé, et la date de l'obtention) et exporter le tout en PDF.

    Problème : quand je l'exécute il ne se passe rien. Aucun PDF.

    Pourriez-vous m'aiguiller s'il vous plait ? Merci !

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Par défaut
    jasper lui aussi doit se connecté a ta base de donné pour récupéré les info
    tu lui passe juste la clé primaire et lui se débrouille tout seule pour remplir le raport
    voici la class qui génère les pdf
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    public class GeneratePDF {
    	public String driver = "com.mysql.jdbc.Driver";
    	public static java.sql.Connection connection = null;
     
    	public void ConnectionSql(String url,String login ,String password){
    				try {
    					Class.forName(driver);
    					try {
    						connection = DriverManager.getConnection(url,login,password);
     
    					} catch (SQLException e) {
    						JOptionPane.showMessageDialog(null,e.toString());
    					} 
    				} catch (ClassNotFoundException e) {
    					JOptionPane.showMessageDialog(null,e.toString());
    				}
     
    	}
     
        public void Etat(String id,String Nom,java.io.InputStream url,int ToPDF,String TTC) {
            String chemin = null ;
            try {
     
                // - Chargement et compilation du rapport 
                JasperDesign jasperDesign = JRXmlLoader.load("C:/Program Files/STAM/raport.jrxml");
                JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
     
                // - Paramètres à envoyer au rapport
                Map parameters = new HashMap();
                parameters.put("id",id);
                parameters.put("nom",Nom);
                parameters.put("total",TTC);
                // - Execution du rapport
                JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
                JasperViewer.viewReport(jasperPrint,false);
                // - Création du rapport au format PDF
                if(ToPDF==1){
                  chemin = Chooser.GetPath(id);
                  if(chemin != null){
                    JasperExportManager.exportReportToPdfFile(jasperPrint,chemin);
                  }  
                }
            } catch (JRException e) { } 
            } 
     
    }
    mais c'est sur que l'erreur sa viens de ton fichier d'exemple de jasper, c'est la première fois que tu l'utilise ?
    si oui contact moi par message je vous explique comment crée un rapport Jasper

Discussions similaires

  1. [MySQL] Erreur de connexion à MySQL
    Par AsyLuM dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/04/2009, 08h49
  2. Erreur de connexion MySQL : Double @ bizarre
    Par As2piK dans le forum MySQL
    Réponses: 3
    Dernier message: 10/02/2009, 10h20
  3. erreur de connexion Mysql 5.1
    Par amen_1919 dans le forum Débuter
    Réponses: 4
    Dernier message: 18/03/2008, 18h30
  4. [MySQL] Erreur de connexion Mysql
    Par HWICE dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/07/2007, 14h28
  5. Nouvelle erreur de connexion Mysql
    Par easyphp007 dans le forum Installation
    Réponses: 2
    Dernier message: 01/03/2006, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo