Y'a un premier truc que je pige pas, c'est que j'avais nommé la méthode get()...et pas getConnection()
tu as renommé la méthode, ou c'est une autre méthode ?
tu affiches bien ps après ta ligne suivante ?
ps=Connexion.getConnection().prepareStatement("insert into carburant (type_carburant,volume,releve_km,montant_plein) values (?, ?, ?, ?)");
Ou avant ?
Je dirais avant à priori puisque qu'on voit ps=null dans le log, et que tu as une erreur sur cette ligne. Evidemment, pour connaitre le résultat d'une affectation, c'est après qu'il faut afficher la variable !
Mais bon, soit, si l'erreur à lieu sur cette ligne, c'est donc que getConnection() retourne null...
Je le ferais en debug personnellement : si tu sais comment procéder, fait le, et tu détermineras ce qu'il se passe.
Mais sans debug, tu peux ajouter une trace ici pour vérifier (enfin dans la méthode getConnection() si tu la renommée
) :
1 2 3 4 5 6 7 8
| public static synchronized Connection get() throws SQLException {
if ( connection!=null && !connection.isClosed() ) {
return connection;
}
connection = createConnection();
System.out.println("connexion : "+connection);
return connection;
} |
Si ça t'affiche c'est que createConnection() retourne null.
Dans ce cas, il faut regarder dans la méthode createConnection(), en ajoutant un System.out.println("on passe là") juste avant le return null :
Si ça affiche "on passe là", c'est qu'il y a une erreur quelque part et qu'on devrait avoir dans la console "erreur de driver"
Si ça affiche pas "on passe là", c'est que c'est DriverManager qui ne renvoit pas de connexion, ce qui serait étonnant, mais bon, voyons ce que ça donne...
Partager