Salut,

Je requete une table sas avec JDBCIOM. Et voilà le soucis.

Ma fonction getDonneesJDBCIOM() est chargée de récupérer un ResulSet et de le parcourrir.

Une SQLException me dit qu'il n'a pas pu faire le boulot parceque le ResultSet n'est pas ouvert.

Je ne vois pas, habituellement, c'est bien comme ça qu'on utilise un ResulSet, non?

Le ResultSet étant "not open". Faudrait-il l'ouvrir? Je n'ai pas vu de fonction qui ait l'air de ResultSet.open();

Qu'en pensez-vous?

Merci d'avance.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
java.sql.SQLException: Cannot perform requested operation.  ResultSet not open. 
    at com.sas.rio.MVALocalizedError.throwLocalizedException(Unknown Source)
    at com.sas.rio.MVALocalizedError.throwLocalizedException(Unknown Source)
    at com.sas.rio.MVAResultSet.next(Unknown Source)
    at rHumaines.Employes.getDonneesJDBCIOM(Employes.java:67)
    at rHumaines.Employes.<init>(Employes.java:34)
    at rHumaines.Compudistri.boiteOnglets(Compudistri.java:365)
    at rHumaines.Compudistri.<init>(Compudistri.java:80)
    at rHumaines.Main.main(Main.java:10)
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
public Vector getDonneesJDBCIOM() {
        Vector donneesVecteur = new Vector();
        ResultSet rs = MDJDBCIOM.requete();
 
        try {
            /*ResultSetMetaData rsmd = rs.getMetaData();
            int columnCount = rsmd.getColumnCount();*/
            while (rs.next() == true) { //<================== Ligne de l'erreur
                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);
                String colonne6 = rs.getString(6);
                String colonne7 = rs.getString(7);
                String colonne8 = rs.getString(8);
                String colonne9 = rs.getString(9);
                String colonne10 = rs.getString(10);
                String colonne11 = rs.getString(11);
                String colonne12 = rs.getString(12);
                String colonne13 = rs.getString(13);
                String colonne14 = rs.getString(14);
                String colonne15 = rs.getString(15);
                String colonne16 = rs.getString(16);
 
                //Placement des données récupérées dans un Vecteur d'Object[]
                //La fonction trim() enlève les blancs avant et après la chaine
                Object[] ligne = {
                        colonne1.trim(), colonne2.trim(), 
                        colonne3.trim(), colonne4.trim(), 
                        colonne5.trim(), colonne6.trim(),
                        colonne7.trim(), colonne8.trim(), 
                        colonne9.trim(), colonne10.trim(), 
                        colonne11.trim(), colonne12.trim(),
                        colonne13.trim(), colonne14.trim(), 
                        colonne15.trim(), colonne16.trim()
                        };
                donneesVecteur.add(ligne);
            }
            return donneesVecteur;
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }