Bonjour,
J'aimerais de construire des "maquettes" de requête qui contiennent tous les mots clés et où il ne reste plus qu'à demander les tables qu'on veut interroger et les colonnes que l'on souhaite afficher.
L'idée est de pouvoir implémenter dans une classe des méthodes permettant de faire des requêtes SQL que l'utilisateur ne connaît pas.

Par exemple, pour une requête "SELECT nom, prenom FROM TAB_client" je veux pouvoir récupérer la saisie de l'utilisateur qui va me donner les champs qu'il veut afficher et la table.

J'ai essayé de mettre en place des preparedStatement mais Eclipse me dit qu'il y a des erreurs liées à la variable de connection.

Je ne saisis pas bien la syntaxe qu'il faut pour avoir un preparedStatement correct dans une classe ne contenant pas de main() ni quels sont les arguments que la méthode doit retourner.

Pour le moment j'arrive juste à appeler une requête mais je ne peux rien récupérer de l'utilisateur :

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 Requetes {
	public static ResultSet AfficheNBpatient(Statement st){
		int i= 0;
 
		try {
			ResultSet rs = st.executeQuery("SELECT * FROM tab_patient");
			while (rs.next()) {
				String colonne1 = rs.getString(1);
				String colonne2 = rs.getString(2);
				String colonne3 = rs.getString(3);
				String colonne4 = rs.getString(4);
				String colonne5 = rs.getString(5);
 
				System.out.println(colonne1+"|"+colonne2+"|"+colonne3+"|"+colonne4+"|"+colonne5+"|");
				i++;
			}
			System.out.println("il y a " + i + " lignes de trouvées.");
 
// déconnexion de la base
			rs.close();
			st.close();
 
			return rs ; 
			} catch (SQLException e) {
				e.printStackTrace();
				return null;
			}		
	}
}
cette classe est appelée dans le main pour alléger au maximum le main et tenter de faire des classes.

Merci de votre aide!