Partage
  • Partager sur Facebook
  • Partager sur Twitter

NullPointerException avec MySQL

    16 octobre 2011 à 0:38:23

    Bonjour !
    Voilà mon problème, j'essaie de me connecter à une base de donnée que j'ai(WAMPServer), le seul problème c'est que ma variable de Connection ne veut pas s'initialiser, pourtant j'ai fait la base de ce qui faut pour que ça marche, m'enfin je crois !

    package app;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    public class MySQL {
    
        public static Connection conn;
        
        public MySQL() {
            try{
                System.out.println("Entering TRY");
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                conn = DriverManager.getConnection("jdbc:mysql://localhost/app", "username", "password");
                System.out.println("Database connection successful");
                PreparedStatement p = conn.prepareStatement("SELECT handle FROM player");
                ResultSet r = p.executeQuery();
                r.next();
            }
            catch(Exception ee) {
              ee.printStackTrace();
              System.out.println("Database connection unsuccessful");
            }
        }
        public static void show() {
            try{
              System.out.println(conn+"");
            }
            catch(Exception ee) {
              ee.printStackTrace();
            }
        }
        public static void main(String[] args) {
            show();
        }
    }
    

    En passant, le code parait plus court parce que j'ai enlevé les trucs en commentaire et il y a beaucoup de static parce que je l'utilise à l'extérieur dans d'autre fichier, si ça peut marcher un jour ! Donc rendu à la méthode show(), je vois afficher "null" puisque que la variable conn égal à null, la partie que je ne comprend pas vraiment, quelqu'un aurait une solution ?
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      16 octobre 2011 à 3:57:51

      Salut, essaye en virant le ".newInstance()" du Class.forName , ça peut poser problème vu que tout est static...
      • Partager sur Facebook
      • Partager sur Twitter
        16 octobre 2011 à 6:33:08

        Nope, même en le supprimant, le problème persiste, ma variable "conn" égale toujours null o_O
        • Partager sur Facebook
        • Partager sur Twitter
          16 octobre 2011 à 6:59:04

          Tu n'as pas précisé le port d'accès à la base lors de la tentative de connexion (3306 avec WAMP par défaut).
          • Partager sur Facebook
          • Partager sur Twitter
            16 octobre 2011 à 18:15:47

            Je viens de l’essayer (ajouter le port) mais la connection égal toujours null . Est-ce que ça pourrait être un problème de librairies ? Parce que j'ai un autre fichier qui contient pratiquement les mêmes choses et lui il marche, pourtant j'ai fait du copier-coller pour recrée cette version :euh:
            • Partager sur Facebook
            • Partager sur Twitter
              16 octobre 2011 à 18:51:56

              Non aucune erreur. Tout ce que ça affiche c'est "null" puisque dans ma méthode show() je lui dis d'afficher ma variable conn. Ce qui est bizarre c'est que mes System.out.println() dans mon constructeur ne s'affiche pas du tout.

              Edit 1 : Par contre, je viens de mettre ceci dans le main
              MySQL sql = new MySQL();
              sql.show();
              

              et tout marche comme il faut Oo
              • Partager sur Facebook
              • Partager sur Twitter
                16 octobre 2011 à 21:04:52

                Plop,

                C'est normal, tu appelles la méthode show qui est static et qui référence un objet static qui ne peut être initialisé que via le constructeur de MySQL. C'est donc normal que ton "conn" soit null tant que tu n'as pas instancié une instance de ta classe.
                • Partager sur Facebook
                • Partager sur Twitter
                  17 octobre 2011 à 2:02:57

                  Je croyais (stupidement faut croire ahah) que vu que c'était static, je n'avais pas besoin d'avoir une instance de ça. Merci pour l'aide !
                  • Partager sur Facebook
                  • Partager sur Twitter

                  NullPointerException avec MySQL

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown