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.lang.NullPointerException impossible à résoudre


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 erreur java.lang.NullPointerException impossible à résoudre
    bonjour

    je pense que la question que je vais vous poser, vous l'avez dejà vu plein de fois..

    je commence à peter un boulon lol car impossible de résoudre mon soucis, meme apres des recherches sur google et sur ce site.

    mon erreur : echec pilote : java.lang.NullPointerException

    (j'utilise JDBC pour connexion à Mysql)

    j'ai lu pour ce genre d'erreur : "appel d'une methode ou utilisation d'un champ avec réference null" mais dans mon code je ne vois pas où il y a un null....


    voici le code qui me permet d'effectuer l'addition des prix correspondant au nom des elements cochés
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
     
     
     
     
    import javax.swing.*;
     
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import java.util.Enumeration;
    import java.util.Hashtable;
    import java.util.Properties;
    import java.math.BigDecimal;
     
     
     
     
    public class carte extends JFrame implements ActionListener
    //, ItemListener
    //implements ItemListener 
    {
     
    //	Properties : Cette classe est un dictionnaire permettant d'associer deux chaînes de caractères. 
        private Properties props = new Properties();
    //	 Hashtable() : permet de stocker des valeurs en les associant à des 
        // identificateurs uniques calculés à partir de clés
        private Hashtable associationProduitsPrix = new Hashtable();
     
    	private JPanel panel;//Déclaration de l'objet JPanel	
    	private JLabel prixx, type;
        private JButton bouton;
        private Checkbox sale,chek;
     
     
        public carte()
    	{
     
     
    		panel = new JPanel();
    		panel.setLayout(new FlowLayout(FlowLayout.LEFT,5,2));
     
     
    		String pilote = "com.mysql.jdbc.Driver";
    		try
    		{
    			//Chargement de mon pilote
    			Class.forName(pilote);
    			//Connexion à ma base mysql avec mon login et mot de passe 
    			Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/creperie","root","root");
    			//Création de mon statement qui va me permettre d'executer mes requetes
    			Statement instruction = connexion.createStatement();
     
    			ResultSet resultatt = instruction.executeQuery("SELECT DISTINCT type FROM carte ");
    			while(resultatt.next())
    			{
    				type = new JLabel(resultatt.getString("type"));
    				panel.add(type);
     
     
    			Statement instructionn = connexion.createStatement();	
    			ResultSet resultat = instructionn.executeQuery("SELECT nom, prix FROM carte WHERE type = '"+resultatt.getString("type")+"'");
     
     
    			while(resultat.next())
    			{
     
    				String nom = props.getProperty(resultat.getString("nom"));
     
    				sale = new Checkbox(nom);
     
    				String prix = props.getProperty(resultat.getString("prix"));
    				prixx = new JLabel(prix);
     
    				Produit produit = new Produit();
    				produit.setPrix(new BigDecimal(prix));
     
    				//sale.addItemListener(this);
    				//panel.add(type);
    				panel.add(sale);
    				associationProduitsPrix.put(sale,produit);
     
     
    			} 
    			}
     
     
     
    		}
    		catch (Exception e)
    		{
     
    			System.out.println("echec pilote : "+e);
    		}
     
    		bouton = new JButton("ticket");
    		panel.add(bouton);
    		bouton.addActionListener(this);//On ajoute la fenêtre en tant qu'écouteur du bouton*/
     
     
     
    	}
     
     
     
     
    /*Checkbox che;
     
    	public void itemStateChanged(ItemEvent evt)
    	{
    		che= (Checkbox)evt.getSource();
    	}*/
     
     
    	public void actionPerformed(ActionEvent e) 
        {
    		if(e.getSource() == bouton)
    		{
    			BigDecimal total = new BigDecimal("0"); //initialise à 0
                 Enumeration enu = associationProduitsPrix.keys();
     
     
    			while (enu.hasMoreElements())
    			{
    				chek = (Checkbox)enu.nextElement();
     
    				if (chek.getState())
    				{
     
    					Produit produit = (Produit)associationProduitsPrix.get(chek);
    					BigDecimal prix = produit.getPrix();
     
    					total = total.add(prix);
    				}
    			}
     
                  JOptionPane.showMessageDialog(null, "total :" +total);
     
     
    		}
        }
     
    }
    voilà...

    merci ebaucoup de vouloir m'aider.

    en attendant je vais continuer à chercher..

  2. #2
    Membre expérimenté Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Par défaut
    Voila par exemple une ligne d'où peut venir l'exception.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Statement instruction = connexion.createStatement();
    si ta connexion a échouée, connexion = null

  3. #3
    Membre expérimenté Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Par défaut
    un conseil, peaufine un peu ton code pour cibler mieux tes exceptions !

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     try{// la connexion n'existait pas donc on la cree
     
    	    	co=DriverManager.getConnection(getDbur(), getUser(), getPass());
     
     
    	    }
    	    catch(SQLException sqle) {
    	    	System.err.println(sqle.getMessage()) ;
    		throw new MappingException("connexion impossible ");
    	    }

  4. #4
    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
    ah....

    donc le pb pourrait venir du fait que j'ai 2 requetes.
    mais j'ai lu qu'il fallait creer 2 fois (dans mon cas) le statment en changeant juste le nom du statment car resultset ferme la connexion mysql...

  5. #5
    Membre expérimenté Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Par défaut
    Et si tu mettais une trace après chaque ligne suspecte ? tu saurais où ça plante.

  6. #6
    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
    avec ton bout de code, cela me souligne en rouge à ce niveau là :
    Class.forName(pilote);

  7. #7
    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
    J'ai mis ça :
    catch(Exception e) {
    System.err.println(e.getMessage()) ;
    }

    et ya marqué comme erreur : "null"

    de plus, cette ligne "throw new MappingException("connexion impossible ");" , le MappingException est souligné en rouge..

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

Discussions similaires

  1. Erreur java. lang.NullPointerException
    Par hicham.gi dans le forum Struts 1
    Réponses: 17
    Dernier message: 03/06/2009, 11h11
  2. Erreur java.lang.NullPointerException hibernate
    Par sousoujda2 dans le forum Hibernate
    Réponses: 8
    Dernier message: 11/03/2008, 19h32
  3. Réponses: 0
    Dernier message: 26/12/2007, 17h28
  4. [Débutant] Erreur java.lang.NullPointerException
    Par Kevin12 dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/02/2007, 15h48
  5. Probleme erreur java.lang.NullPointerException
    Par Tsukaasa dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2006, 18h19

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