état de curseur non valide

Bonjour,
j'ai un problème quand exécute un programme java avec une requette SQL,
la requette est la suivante:
SELECT intitule,Date, SUM(montant)AS som_montant, RIB  FROM Account GROUP BY intitule, Date, RIB
il me renvois exactement le résultat attendue, exactement comme je le voulais, sauf que a la fin, il met un message d'erreur :
java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] ?tat de curseur non valide
qui fait planté le prorgramme.
merci pour votre aide

2 réponses

  1. Modérateur
    Bonjour,

    Il faudrait voir ton code pour comprendre ce qui se passe, ainsi que la trace complète de l'exception.

    Le "curseur" c'est ton ResultSet sur lequel tu fais des next pour avoir tous les résultats, mais tu peux aussi faire d'autres opérations (des updates par exemple) et certaines doivent se faire dans un certain ordre, si tu ne respectes pas cet ordre tu peux te retrouver dans un état invalide...
    0
    1. Voici mon code

         sql="SELECT intitule,Date, SUM(montant)AS som_montant, RIB  FROM Account GROUP BY intitule, Date, RIB";
      rs=st.executeQuery(sql);

      while(rs.next() ){

      System.out.println(rs.getString("Intitule")+" "+rs.getString("Date")
      +" "+rs.getString("som_Montant")+" "+rs.getString("RIB") );

      }
      il me renvois tous les résultats puis ça plante, comme indiqué ci-dessous:

      SARL SAHBY SIMEX 30042014 27241470.15 00300622300352300045
      SARL SUD PRIM 30042014 2715023.64 00400351400000563072
      SARL SUPERETTE ACILA 30042014 4833480.37 00200035035220005961
      SELECTAR SPA 30042014 52658.84 00200006060066192206
      SEND ROUS 30042014 4563572.42 00600304220010010224
      1:java.sql.SQLException: [Microsoft][Gestionnaire de pilotes ODBC] ?tat de curseur non valide
      0
      1. Modérateur
        Et qu'est-ce qu'il y a après ? Normalement tu devrais avoir un rs.close() juste derrière.
        0