Problème java.lang.NullPointerException - Java - Programmation
Marsh Posté le 16-06-2009 à 23:45:25
salut,
déja, je me permet une remarque: tu écris connexion un coup en francais avec un "x", un coup en anglais avec "ct", essaie d'harmoniser tu vas t'y perdre...
ensuite en ce qui concerne ton pb, d'un point de vue POO il ya un pb de conception. tu utilise dans la classe Salle un objet connection qui n'est pas initialisé car en fait il l'est dans la classe ConnexionBD. je te conseille de te repencher sur la conception de ton appli...
Marsh Posté le 16-06-2009 à 23:52:37
Merci, je vais revoir pour le connexion c'est vrai que ce n'est pas clair.
J'aimerais séparer la connexion à la base de donnée et la connexion pour mettre une table à jour. Comment puis-je faire alors?
Marsh Posté le 17-06-2009 à 09:28:04
Pattern Singleton pour ConnexionBD déjà (pour éviter d'ouvrir plusieus connexions en même temps) avec dedans une méthode statique getInstance pour retourner l'instance unique de ConnexionBD. Et tu fais un getter pour connection. Ainsi tu y accèdes n'importe où en faisant ConnexionBD.getInstance.getConnection()
Marsh Posté le 17-06-2009 à 13:12:15
Deamon a écrit : Pattern Singleton pour ConnexionBD |
Marsh Posté le 17-06-2009 à 13:16:22
Désolé.
Regarde sur le net le pattern singleton et met le en place pour ConnexionDB (il existe des codes exemples tout fait en Java).
Une fois ça fait à chaque fois que tu veux créer une ConnexionDB tu ne pourras pas faire new ConnexionDB() mais l'appel d'une méthode static du genre getInstance(). Donc concrètement il faudra faire ConnexionDB.getInstance() au lieu du new ConnexionDB().
Ensuite dans ConnexionDB tu mets une méthode getConnexion() qui fait juste "return connexion". C'est ce qu'on appelle un getter.
Avec ça pour accéder à la connexion il faudra faire ConnexionDB.getInstance().getConnexion()
C'est plus clair ?
Quoi ?
Marsh Posté le 17-06-2009 à 13:19:31
Deamon a écrit :
|
http://steve.yegge.googlepages.com [...] red-stupid
Surtout qu'ici ça sert vraiment à rien du tout, tu pourrais tout aussi bien faire un DBConnection.getConnection() et ça se démerde tout seul.
Ou encore mieux, DB.execute() à laquelle tu filles tes opérations (tu crées l'interface qui va bien comme ça il devient possible d'utiliser une classe anonyme si besoin) et qui les exécute dans le contexte de la DB (et pourquoi pas dans une transaction avec nettoyages en cas de besoin toussa)
Marsh Posté le 16-06-2009 à 23:15:34
Bonsoir.
J'ai créé un programme qui me permet de me connecter à une base de donnée.
J'ai un fichier main et deux classes ConnexionBD et Salle. Sauf que j'ai une erreur
Exception in thread "main" java.lang.NullPointerException
at projetjava.Salle.insererSalle(Salle.java:13)
at projetjava.Main.main(Main.java:9)
Voilà les codes:
main.java
ConnexionBD.java
Salle.java
Je comprend pas pourquoi je n'arrive pas à mettre ma base à jour.
Merci d'avance à tous.