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

Java Discussion :

Connexion à une base MySQL donne un NPE


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Par défaut Connexion à une base MySQL donne un NPE
    Bonjour,
    j’essaie de vérifier dans ma table si un nom existe ou pas pour pouvoir executer un traitement dans mon code java,mais à chaque fois qu j'execute j'ai un NullPointerException
    voici mon code :
    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
    try{
      Class.forName("com.mysql.jdbc.Driver");
      try {
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/gcm","M","");
    } catch (SQLException e) {e.printStackTrace();
    }
     PreparedStatement statement =  con.prepareStatement("SELECT * FROM gcm_users WHERE name = '"+name+"'"); // la ligne qui provoque la NPE
     ResultSet result = statement.executeQuery();
     while(result.next()){
      duplicat=true;
    	  }
    }
    catch(Exception e){
     e.printStackTrace();
     }

  2. #2
    Membre chevronné
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Par défaut
    Bonjour
    As tu vérifié que tu as bien obtenu un objet Connection ?
    Tu pourrais poster le message de l'exception s'il te plait ?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    Bonjour,

    ça veut dire que tu as eu une exception à la ligne 4 ou 5. Que t'affichent les "e.printStackTrace()" de ton code ?

    Romain.

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Par défaut
    voici le Logcat :
    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
    04-12 16:03:10.743: W/System.err(28976): com.mysql.jdbc.CommunicationsException: Communications link failure
    04-12 16:03:10.753: W/System.err(28976): The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    04-12 16:03:10.753: W/System.err(28976): 	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1112)
    04-12 16:03:10.753: W/System.err(28976): 	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344)
    04-12 16:03:10.753: W/System.err(28976): 	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2332)
    04-12 16:03:10.753: W/System.err(28976): 	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
    04-12 16:03:10.753: W/System.err(28976): 	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
    04-12 16:03:10.763: W/System.err(28976): 	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
    04-12 16:03:10.763: W/System.err(28976): 	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:377)
    04-12 16:03:10.763: W/System.err(28976): 	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
    04-12 16:03:10.763: W/System.err(28976): 	at java.sql.DriverManager.getConnection(DriverManager.java:191)
    04-12 16:03:10.763: W/System.err(28976): 	at java.sql.DriverManager.getConnection(DriverManager.java:226)
    04-12 16:03:10.763: W/System.err(28976): 	at com.androidhive.pushnotifications.MainActivity.onCreate(MainActivity.java:95)
    04-12 16:03:10.763: W/System.err(28976): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    04-12 16:03:10.763: W/System.err(28976): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    04-12 16:03:10.763: W/System.err(28976): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    04-12 16:03:10.763: W/System.err(28976): 	at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    04-12 16:03:10.774: W/System.err(28976): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    04-12 16:03:10.774: W/System.err(28976): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    04-12 16:03:10.774: W/System.err(28976): 	at android.os.Looper.loop(Looper.java:123)
    04-12 16:03:10.774: W/System.err(28976): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
    04-12 16:03:10.774: W/System.err(28976): 	at java.lang.reflect.Method.invokeNative(Native Method)
    04-12 16:03:10.774: W/System.err(28976): 	at java.lang.reflect.Method.invoke(Method.java:521)
    04-12 16:03:10.774: W/System.err(28976): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
    04-12 16:03:10.774: W/System.err(28976): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    04-12 16:03:10.774: W/System.err(28976): 	at dalvik.system.NativeStart.main(Native Method)
    04-12 16:03:10.783: W/System.err(28976): Caused by: java.net.ConnectException: localhost/127.0.0.1:3306 - Connection refused
    04-12 16:03:10.783: W/System.err(28976): 	at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
    04-12 16:03:10.793: W/System.err(28976): 	at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:219)
    04-12 16:03:10.793: W/System.err(28976): 	at java.net.Socket.startupSocket(Socket.java:781)
    04-12 16:03:10.793: W/System.err(28976): 	at java.net.Socket.<init>(Socket.java:316)
    04-12 16:03:10.793: W/System.err(28976): 	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:257)
    04-12 16:03:10.793: W/System.err(28976): 	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:294)
    04-12 16:03:10.793: W/System.err(28976): 	... 22 more
    04-12 16:03:10.793: W/System.err(28976): java.lang.NullPointerException
    04-12 16:03:10.793: W/System.err(28976): 	at com.androidhive.pushnotifications.MainActivity.onCreate(MainActivity.java:104)
    04-12 16:03:10.803: W/System.err(28976): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    04-12 16:03:10.803: W/System.err(28976): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    04-12 16:03:10.803: W/System.err(28976): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    04-12 16:03:10.803: W/System.err(28976): 	at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    04-12 16:03:10.803: W/System.err(28976): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    04-12 16:03:10.803: W/System.err(28976): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    04-12 16:03:10.803: W/System.err(28976): 	at android.os.Looper.loop(Looper.java:123)
    04-12 16:03:10.803: W/System.err(28976): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
    04-12 16:03:10.803: W/System.err(28976): 	at java.lang.reflect.Method.invokeNative(Native Method)
    04-12 16:03:10.813: W/System.err(28976): 	at java.lang.reflect.Method.invoke(Method.java:521)
    04-12 16:03:10.813: W/System.err(28976): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
    04-12 16:03:10.813: W/System.err(28976): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    04-12 16:03:10.813: W/System.err(28976): 	at dalvik.system.NativeStart.main(Native Method)

  5. #5
    Membre chevronné
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Par défaut
    De par le Logcat je comprends que c'est le serveur qui ne réponds pas. Tu es bien sûr qu'il est opérationnel et qu'il écoute sur le port que tu as donné ?

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 98
    Par défaut
    oui j'ai déja pingé le serveur et il repond bien,de plus j'ai essayé la base à travers la "database developement" perspective d'eclipse et il m'affiche bien les tables et tout, chose qui m'a confuse.

  7. #7
    Membre chevronné
    Avatar de Laine
    Femme Profil pro
    Doctorat informatique
    Inscrit en
    Mars 2013
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Doctorat informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 238
    Par défaut
    Bizarre tous ça
    Je peux pas tester parce que je n'ai pas mysql chez moi. J'utilise Postresql.
    Franchement je n'ai pas trop de piste là.
    Essaye un Statement au lieu du PreparedStatement.
    Essaye ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Class.forName(driver).newInstance();
    conn = (Connection) DriverManager.getConnection(url, userName, password);
    Statement state = (Statement) conn.createStatement();

Discussions similaires

  1. [MySQL] Connexion à une base de donnée en ligne
    Par ghost emperor dans le forum VB.NET
    Réponses: 8
    Dernier message: 05/12/2007, 14h09
  2. Réponses: 1
    Dernier message: 19/07/2007, 21h09
  3. Problème de connexion à une base de donnée MySQL
    Par casho dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/06/2007, 14h04
  4. connexion à une base de données mysql depuis c++
    Par btissama4 dans le forum C++
    Réponses: 4
    Dernier message: 16/02/2007, 11h55
  5. Connexion à une base de données mysql via access
    Par eautret dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 10h02

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