Ajouter un commentaire

19cmos83

Bonjour,

J'ai en fait une erreur lors de la connection a ma base, par le biais du code précédent.
J'ai réussi a établir une connection avec ma base, par l'intermediaire de l'IDE netbeans, avec les même parametres, et ca marche tres bien, j'inclus au passage un fichier mysql-connector-java-5.0.7-bin.jar pour établir la connection :
mais quand je le fait par le code, ca ne marche pas du tout, donc voici mon code :

package org;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.*;

/**
 *
 * @author  Rachid
 */
public class NewJApplet extends javax.swing.JApplet implements MouseListener{
    
    /** Initializes the applet NewJApplet */
    public void init() {
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    initComponents();
                }
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    
    
    jButton1.addMouseListener(this);
    

    /* code généré */
     
    
    }
    
                          

    public void mouseClicked(MouseEvent e) {
       Connection connect = null;
    try{
        Class.forName("com.mysql.jdbc.Driver");
        connect = DriverManager.getConnection("jdbc:mysql://localhost/bd_applet","root","");
        jLabel1.setText("Connection établie");
    }
    catch(Exception ex){
        ex.printStackTrace();
        jLabel1.setText("Connection echec");
    }
    /*En programmation, on doit se soucier de la gestion des ressources potentiellement rares ou sur lesquelles on a pas une maîtrise complète. 
     Une connexion JDBC tombe dans ces deux catégories. Une base de données ne permet qu'un nombre limitées de connexions simultanées 
     et elle gère en général ces connexions dans un pool qui vit en dehors de l'application Java. Dans ce contexte 
     le programmeur doit avoir le souci de libérer les connexions au plus vite et en toutes circonstances, même en cas d'erreurs. 
     En C++ par exemple cela se fait dans des destructeurs. Il n'y a pas de destructeurs en Java, mais on y trouve une contre-partie 
     dans les blocs finally qui eux n'existent pas en C++ puisqu'il y a les destructeurs Wink
     Bref, voici l'idiome consacré pour une bonne gestion des connexions */
    finally{
        if(connect != null)
            try {
            connect.close();
            } 
            catch (SQLException ex) {
            ex.printStackTrace();
            }
    } 
        
    }

Les erreurs générés sont :

init:
deps-jar:
compile-single:
run-applet:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at org.NewJApplet.mouseClicked(NewJApplet.java:96)
        at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
        at java.awt.Component.processMouseEvent(Component.java:5504)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
        at java.awt.Component.processEvent(Component.java:5266)
        at java.awt.Container.processEvent(Container.java:1966)
        at java.awt.Component.dispatchEventImpl(Component.java:3968)
        at java.awt.Container.dispatchEventImpl(Container.java:2024)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
        at java.awt.Container.dispatchEventImpl(Container.java:2010)
        at java.awt.Component.dispatchEvent(Component.java:3803)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Même si ce poste date de l'année derniere, tout en esperant avoir une réponse merci!

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  CCC  FFFF   QQQ     GGG   K  K 
C F Q Q G K K
C FFF Q Q G GG KK
C F Q QQ G G K K
CCC F QQQQ GGG K K
Q