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 :

appel de methodes et execution requete SQL


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut 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 : 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());
     
     
    		  }
     
     
    	}
    }
    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
     
    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 = null;
    ç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
    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!!

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    L'erreur est simple : tu crées un Statement dans ConnexionBdd, mais tu ne l'utilises pas. Tu devrais le renvoyer donc et l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ConnexionBdd cb = new ConnexionBdd();
    Statement stmt = cb.stat();
    Sans oublier d'enlever la ligne Cordialement

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    ok merci
    alors on m'a aidé et j'ai ça (oui suis pas specialement doué.. lol) :
    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
     
    public Statement stat() 
    	{
    		String pilote = "org.gjt.mm.mysql.Driver";
    		String url ="jdbc:mysql://localhost/films";
     
    		Connection conn;
    		Statement stmt = null;
     
    			try {
    				Class.forName(pilote);
    			} catch (ClassNotFoundException e) {
    				// TODO Bloc catch auto-généré
    				e.printStackTrace();
    			}
     
    			try 
    			{
     
    			conn = DriverManager.getConnection(url,"root","");
    			stmt = conn.createStatement(); 
     
    		}
     
    		catch ( SQLException E)
    		  {
    		  	System.out.println("SQLException: " + E.getMessage());
     
     
    		  }
    		return(stmt);
     
     
    	}
    }
    le stmt, selon eclipse, je suis obligé de l'initialisé..

    donc, pour conclure ça marche

    merci beaucoup pour m'avoir aidé!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb d'execution requete sql a partir de php
    Par postmixfrance dans le forum Développement
    Réponses: 7
    Dernier message: 26/10/2010, 08h14
  2. Execution requete SQL en JAVA
    Par absot dans le forum Général Java
    Réponses: 7
    Dernier message: 17/02/2010, 22h28
  3. probl execution requete sql
    Par bambino13 dans le forum ASP
    Réponses: 3
    Dernier message: 02/05/2009, 18h30
  4. Problèmes executions requetes SQL
    Par Raideman dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/03/2008, 02h26
  5. execution requete sql caractère spéciaux
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/02/2008, 17h04

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