Bonjour,
Problème encore de débutant !
J'ai fait un projet test où j'ai une classe ConnectMysql qui comporte une méthode connect, une méthode close et une autre qui retourne un Resulset d'une requête passée en paramètre.
Dans ce projet j'ai fait une autre classe main qui me teste la connexion et une requête et tout va bien.
Mais comme cette classe connexion me servira à différents projets, je l'ai mise dans un répertoire fr/pl/mysql dans le répertoire de l'espace de travail.
J'ai commencé un autre projet de gestion d'une table qui me permet de voir la programmation java sur pas mal de fonctionnalités.
Dans une classe TableTest, j'ai un constructeur avec tous les champs de la table, ainsi que tous les getters et setters.
Puis j'ai une méthode InsertTable qui m’insère un enregistrement dans ma table.
Ma méthode connect de ma classe ConnectMysql
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 public class ConnectMysql { private String base = ""; private String user = ""; private String pwd = ""; private Connection dbConnect = null; private Statement dbStatement = null; ... public Boolean connect() { try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver Mysql trouvé"); } catch (ClassNotFoundException e) { System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); return false; } try { this.dbConnect = DriverManager.getConnection("jdbc:mysql://localhost/" + this.base, this.user, this.pwd); // note la base, user et pwd viennent des paramètres du constructeur System.out.println("Base " + this.base + " connectée"); this.dbStatement = this.dbConnect.createStatement(); return true; } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } return false; }
Ma classe tableTest pour gérer ma table
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 public class TableTest { private int id; private String nom; // Nom private String prenom; // Prenom ..... public TableTest(int id, String nom, String prenom, .....) { super(); this.id = id; this.nom = nom; this.prenom = prenom; ..... } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } ...... public void insertTable() { String sqlTmp = ""; sqlTmp += "insert into tabletest values ("; sqlTmp += "'" + this.getNom() + "', "; sqlTmp += "'" + this.getPrenom() + "', "; .... sqlTmp += "'" + this.getDivers() + "' )"; try { dbStatement.executeUpdate(sqlTmp); // erreur dbStatement cannot be resolved } catch (SQLException e) { e.printStackTrace(); } } }
J'ai incorporé ma classe ConnectMysql dans mon projet de gestion de table avec Link source où j'ai mis le chemin de Linker Folder location, donc fr/pl/mysql sous mon workspace et m'a donc donné mon folder name : mysql où se trouve ma classe ConnectMysql.
Et j'ai une erreur "dbStatement cannot be resolved" sur la ligne dbStatement.executeUpdate(sqlTmp);
J'ai un import java.sql.* dans les deux fichiers java.
J'ai essayé de mettre un import fr.pl.mysql ou rajouter la classe, essayé aussi de mettre package fr.pl.mysql, et j'ai toujours cette erreur.
Pouvez vous me dire ce qui se passe ??
Merci d'avance.
Cordialement.
Partager