Pb de resultSet (la compil marche mais pas l'execution)
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
Code:
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");} |
Si vous pouviez me trouver mon erreur ca m'oterais une grosse epine du pied...
Merci d'avance !!
Gillou