bonjour à tous!
j'ai une classe contenant une methode permettant de se connecter à une BDD mysql que voici (je travaille sous eclipse):
et mon autre classe permetant d'executer ma requete, dont voici la partie du code concerné (le reste n'est pas important)
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 public class ConnexionBdd { public void stat() { String pilote = "org.gjt.mm.mysql.Driver"; String url ="jdbc:mysql://localhost/films"; Connection conn; try { Class.forName(pilote); } catch (ClassNotFoundException e) { // TODO Bloc catch auto-généré e.printStackTrace(); } try { conn = DriverManager.getConnection(url,"root",""); Statement stmt = conn.createStatement(); } catch ( SQLException E) { System.out.println("SQLException: " + E.getMessage()); } } }
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 public void actionPerformed (ActionEvent e) { if (e.getSource().equals(but)) { ConnexionBdd cb = new ConnexionBdd(); cb.stat(); try { ResultSet resultat; Statement stmt = null; resultat = stmt.executeQuery( "SELECT nom FROM fl WHERE " ); while (resultat.next()) { String nom = resultat.getString("designation_produit" ); System.out.println(nom); } } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }
et ça me donne comme erreur
java.lang.NullPointerException
at ClasseBDD.actionPerformed(ClasseBDD.java:57)
at java.awt.Button.processActionEvent(Unknown Source)
at java.awt.Button.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
le truc est que si je mets :
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Statement stmt;
ça me souligne en rouge le stmt de, en medisant que cette variable n'est pas initialisée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Statement stmt = null;
en faite le stmt vient de ma classe ConnexionBdd, et plus particulièrement de ma methode stat()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2resultat = stmt.executeQuery(
j'aimerai juste pouvoir utiliser le stmt de cette methode par l'autre classe, mais j'ai un peu de mal...
quelqu'un pourrait il m'aider?
merci beaucoup!!
Partager