Bonjour, je suis sur une appli qui attaque une BD ACCESS mais j'ai deux requêtes qui me retournent état de curseur non valide

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
 
Statement s1 = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
        			String req = "Select Count(*) from chrono where noConcurrent="+numconcu+" And noEtape="+var3;
        			ResultSet result = s1.executeQuery(req);
        			result.next();
        			int cpt = result.getInt(1);
        			if (cpt==1){
        				mess.showMessageDialog(null,"Vous avez déjà rentré un temps pour ce concurrent","Avertissement",JOptionPane.ERROR_MESSAGE);
        			}
        			else{
        				PreparedStatement st = connect.prepareStatement("Insert into Chrono(noEtape, noConcurrent, temps) Values (?,?,?)");
        				st.setInt(1, var3);
        				st.setInt(2, numconcu);
        				st.setFloat(3, letemps);
        				st.executeUpdate();
        				st.close();
        				connect.close();
        				temps.setText("");
        			}
        			result.close();
        		}
Ici, la requete doit me retourner soit 1 soit 0. Quand c'est 1, pas de problème mais pour 0 çà met l'erreur.

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
 
Statement stab = connect.createStatement();
      		String bdtab = "Create table Classement(nom text, temps float)";
      		stab.execute(bdtab);
      		stab.close();
 
      		Statement s1 = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
      		String req1 = "Select concurrent.nom, SUM(chrono.temps) As Somme FROM concurrent, chrono Where concurrent.numero=chrono.noConcurrent Group by concurrent.nom";
      		ResultSet rs = s1.executeQuery(req1);
      		while (rs.next()){
      			var1= rs.getString(1);
      			float var2 = rs.getFloat(2);
      			PreparedStatement st = connect.prepareStatement("Insert into Classement(nom, temps) Values (?,?)");
      			st.setString(1, var1);
    			st.setFloat(2, var2);
    			st.executeUpdate();
    			st.close();
    	  	}
    		rs.close();
 
              String unnom = new String();
    		float untemps;
 
    		Statement s2 = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    		String req2 = "Select nom, temps From Classement order by temps";      		
    		ResultSet rs2 = s2.executeQuery(req2);
    		while(rs2.next()){
    			unnom=rs2.getString(1);
    			untemps=rs2.getFloat(2);
    			listeclass.add(""+rs2.getRow()+"   "+unnom+" avec un temps cumulé de "+untemps+"");
    		}
rs2.close();
			connect.close();
J'ai la même erreur ici sur le getString et le getFloat (enfin c la qu'Eclipse pointe) sauf que bizarrement çà marche mais le code apres le rs.close ne se marche pas. Je ne sais pas si c'est à cause de cette erreur.