appel de methodes et execution requete SQL
bonjour à tous!
j'ai une classe contenant une methode permettant de se connecter à une BDD mysql que voici (je travaille sous eclipse):
Code:
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());
}
}
} |
et mon autre classe permetant d'executer ma requete, dont voici la partie du code concerné (le reste n'est pas important)
Code:
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
Citation:
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:
1 2
|
Statement stmt = null; |
ça me souligne en rouge le stmt de, en medisant que cette variable n'est pas initialisée :
Code:
1 2
|
resultat = stmt.executeQuery( |
en faite le stmt vient de ma classe ConnexionBdd, et plus particulièrement de ma methode stat()
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!!