bonjour a tous!!
je suis sur un programme java qui doit acceder a une bdd ACCESS et j'ai des problèmes au niveau d'un resultSet. Je vous présente tout d'abord le code et je l'ai commenté au fur et a mesure pour que vous compreniez ou ce situe mon problème. Le compilateur ne me sort aucune erreur, c'est au moment de l'execution que ca foire. Mes requetes sont censées etre bonnes je les ai testées avec ACCESS
Si vous pouviez me trouver mon erreur ca m'oterais une grosse epine du pied...
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51 private String[][] tabReponses = new String[5][2]; public panelgraphique() { String reponsesTotales = null; String nombreString; int nombreReponses; int j = 0; try { // On se connecte à la base Sondage Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection connexion = DriverManager.getConnection("jdbc:odbc:Sondage","",""); // On récupère les données voulues Statement result = connexion.createStatement(); result.executeQuery("SELECT reponse1 FROM Reponses GROUP BY reponse1"); ResultSet reponsesPossibles = result.getResultSet(); //jusque la ca fonctionne ResultSet reponses; while(reponsesPossibles.next()) { //il rentre bien dans le while puisqu'il m'affiche bien le premier "toto" System.out.println("toto"); tabReponses[j][0]=reponsesPossibles.getString("reponse1"); System.out.println(tabReponses[j][0]); // j'ai vérifié la valeur dans mon tableau est la bonne result.executeQuery("SELECT reponse1 FROM Reponses WHERE reponse1 = '"+tabReponses[j][0]+"'"); System.out.println("SELECT reponse1 FROM Reponses WHERE reponse1 = '"+tabReponses[j][0]+"'"); // je vérifie ici la requete que j'ai envoyé et elle est correcte reponses = result.getResultSet(); System.out.println("toto12"); // il m'affiche bien toto12 donc le getResultSet ne provoque pas d'erreur mais j'ai un doute sur lui reponses.beforeFirst(); System.out.println("toto13"); // a cet endroit il est deja sorti de la boucle while et il me recupère une erreur dans la catch. // il ne m'affiche pas toto 13. En fait a chaque fois que j'essaye d'utiliser mon resultSet reponses il me balance une erreur System.out.println(reponses.getString("reponse1")); reponses.last(); //on récupère le numéro de la ligne nombreReponses = reponses.getRow(); nombreString = String.valueOf(nombreReponses); //on repace le curseur avant la première ligne reponses.beforeFirst(); tabReponses[j][1] = nombreString; j++; } } catch (Exception e) {System.err.println("ERREUR");}
Merci d'avance !!
Gillou
Partager