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

JDBC Java Discussion :

java. lang. NullPointerException


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Points : 8
    Points
    8
    Par défaut java. lang. NullPointerException
    bonjour tout le monde !!
    voilà je cherche à ajouter des donées dans ma base de données. Voici le code que j'ai utilisé pour faire cet ajout :
    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
    	try{
    	Statement req = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    	ResultSet result = req.executeQuery("INSERT INTO T_Voyages " + "(NoVoyage,LibVoyage, DateDebut, Duree, NbInscrits, NoDestination) " + "VALUES "+"(" + pNoVoyage + "," + "'" + pLibVoyage   + "'," + "'" + pDateDebut + "'," + "" + pDuree + "," + "" + pNbIns + "," + "" + pNoDestination + ")");
     
    	result.afterLast();
    	result.moveToInsertRow();
    	result.updateInt("NoVoyage", pNoVoyage);
    	result.updateString("LibVoyage",pLibVoyage);
    	result.updateString("DateDebut",pDateDebut);
    	result.updateInt("Duree",pDuree);
    	result.updateInt("NbInscrits",pNbIns);
    	result.updateInt("NoDestination",pNoDestination);
    	result.insertRow();
    	result.first();
    	}
    	catch(Exception e) {
    		System.out.println("L'erreur :" +e);}
    	}
    et j'ai une erreur : "java.lang.NullPointerException" Je ne vois pas ce que cela signifie... Peut-être qu'il a d'autre technique pour ajouter des données dans une base de données.... peut-être plus simple que celle la....

    merci d'avance pour votre aide

    elisha

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    1. Éviter de catcher Exception c'est pas propre. Catcher des SQLException serait bien mieux.
    2. Lorsqu'on loggue une exception il est utile d'afficher le stacktrace et pas seulement le nom de l'exception :
      C'est plus facile pour retrouver l'origine du problème.
    3. Prendre la première ligne du stacktrace et voir à quoi elle correspond dans le code. Pour un NPE cela signifie qu'une des variables de la ligne en question est null...



    a++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Merci de ton aide, alors tout d'abord j'ai corrigé mon code par rapport au point 1 et 2 que tu as cité. Bon alors maintenant le 3ième point... voila ce que j'ai comme erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Exception in thread "main" java.lang.NullPointerException
    	at voyage.AgenceVoyage.nouveauVoyage(AgenceVoyage.java:59)
    	at voyage.TestVoyage.main(TestVoyage.java:6)
    La ligne 59 correspond à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Statement req = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    et la ligne 6 correspond à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    av.nouveauVoyage(16, "Océanie", "12/12/08", 15, 40, 8);
    en sachant que je veux ajouter dans la tables T_Voyages dans les champs suivants : NoVoyage, LibVoyage, DateDebut, Duree, NbInscrits,NoDestination
    en sachant aussi que les champs LibVoyage et DateDebut sont de type String.

    merci
    elisha

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par elisha Voir le message
    La ligne 59 correspond à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Statement req = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    Tu n'as qu'une seule et unique variable sur cette ligne, ce qui fait que tu as trouvé l'origine de ton problème :
    La variable con est null !

    a++

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Merci de ta réponse, mais j'ai encore besoin de ton aide....
    Quand tu dis que ma variable "con" est null, ça veut dire que je suis obligée de répéter à chaque fois les étapes pour me connecter à la base de données?
    c'est-à-dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String url = "jdbc:odbc:Voyages2000.mdb";
    	Connection con = null;
    	try{	
    	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    	con=DriverManager.getConnection(url,"","");
               .........

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    c'st re-moi !!! j'ai une question bête à poser, mais comme on dit ya pa de question bête... donc je me lance quelle est la structure exacte d'une requête d'ajout ? (la honte !!! ) avec comme données à ajouter des String et des Int. parce qu'en faite ma requête d'ajout récupère les données à ajouter à travers des variables passées en paramètre dans ma fonction d'ajout.... j'espère que vous avez réussit à me suivre...
    merci de votre aide !!!

    et pour le point numéro 3 (à savoir la variable "con" égale a null, c'est réglé !! merci !!)

    elisha

Discussions similaires

  1. java.lang.NullPointerException
    Par kamaldev dans le forum Struts 1
    Réponses: 12
    Dernier message: 28/06/2006, 19h45
  2. Probleme erreur java.lang.NullPointerException
    Par Tsukaasa dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2006, 18h19
  3. Réponses: 8
    Dernier message: 11/05/2006, 19h32
  4. [JDIC]Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Par kedare dans le forum Concurrence et multi-thread
    Réponses: 4
    Dernier message: 06/05/2006, 22h45
  5. java.lang.NullPointerException getparent()
    Par guano dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 17/03/2006, 17h38

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