Bonjour,
J'ai un problème car je voudrais savoir si il faut déclarer sa connexion sur chaque page ou faire un scope session enfin je ne sais pas trop quel démarche adopté pour une connexion efficace et fiable.
Une autre question dans un bean j'ai crée une méthode pour insérer un client dans la BD mais quand dans ma page je tape le code ci dessous il m'apparait une erreur "cnx cannot be resolved to a variable"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <%try { // tenter de récupérer le driver Mysql Class.forName("com.mysql.jdbc.Driver").newInstance(); System.out.println("Chargement du pilote Mysql réussi"); }catch(Exception e) { System.err.print("Erreur de chargement du pilote : "); System.err.println(e.getMessage());}%> <% String url = "jdbc:mysql://localhost:50083/mabase"; try{//tenter de se connecter a ma base java.sql.Connection cnx=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:50083/mabase","root",""); System.out.println("Connecté à mabase"); }catch(Exception e) { System.err.print("Erreur de chargement de la base : "); System.err.println(e.getMessage());} %>
La methode insertBase:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Client ClientCourant =new Client(clientDefinition); session.setAttribute("Client", ClientCourant); ClientCourant.insertBase(cnx);
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void insertBase(Connection cnx) throws SQLException{ java.sql.Statement req= cnx.createStatement(); String requete="INSERT INTO Client VALUES('"; StringBuilder sb = new StringBuilder(requete); sb.append(this.mail+"','");sb.append(this.nom+"','");sb.append(this.prenom+"','");sb.append(this.age+"','");sb.append(this.sexe+"','");sb.append(this.pays+"','");sb.append(this.ville+"','");sb.append(this.adresse+"','");sb.append(this.codePostal+"','");sb.append(this.motDePasse+"'\""); req.executeUpdate(sb.toString()); req.close();}
Partager