IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Exception Java]java.sql.SQLException: Ensemble de résultats épuisé


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut [Exception Java]java.sql.SQLException: Ensemble de résultats épuisé
    Bonjour tout le monde ,

    essayant de faire des extractions de ma base de données java, je me retrouve avec un Exception du ResultSet, ma ^partie de code est comme suit:

    ResultSet Res3=null;
    PreparedStatement St=null;
    for(int i=1;i<list.size();i++)
    {
    query="select CODE_T from T_TEST where
    C_RC='"+list.get(i).get("CIN")+"'";

    St = conn.prepareStatement(query);
    Res3=St.executeQuery();
    Res3.next();
    int val= Res3.getInt(1);

    System.out.println(val);

    St.execute();
    St.close();
    Res3.close();


    }
    conn.close();
    comme Exception voila ce que j'ai:

    Exception in thread "main" java.sql.SQLException: Ensemble de résultats épuisé
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
    at oracle.jdbc.driver.OracleStatement.prepare_for_new_get(OracleStatement.java:3195)
    at oracle.jdbc.driver.OracleStatement.getIntValue(OracleStatement.java:4264)
    at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:510)
    at dataBaseConn.Uploading.Insert(Uploading.java:85)
    at excelmapping.Main.main(Main.java:28)
    Merci d'avance de votre retour

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    As-tu vérifié que ce n'était pas a cause d'un nombre trop important de résultat?

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Merci deathness,

    Non, actuellement je teste avec 12 ,en fait ce qui se passe, c'est qu'il exécute le select pour toutes les itérations de la boucle et c'est après qu'il me lance cette exception , j'ai constaté ça grâce au debuger .

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est jusque qu'une de tes requêtes ne renvoie rien.
    Il te faut absolument tester le retour (true ou false) de avant d'essayer de récupérer la donnée.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    vous avez absolument raison sinok,

    en fait le but derrière le traitement du select que je fais est pour un soucis de vérification d’existence de la données avant son insertion (pour que mon programme ne plante pas et me retourne les doublons, ces derniers je les stocke par la suite dans un fichier plat.

    alors quand mon code ne trouve pas de doublons le ResultSet n'apporte aucun résultat, ce qui fait qu'on moment de l’exécution de res.getInt(1) mon programme plante ( si j'ai bien analyser).

    en résumé j'ai contourné le truc en exécutant un count(*) au lieu de select qui me retourne soit 1 ou 0, mais la question est : pourquoi la première méthode n'a pas marché, j'aimerais taguer la discussion comme résolu, mais je laisse jusqu'à demain soir, comme ça si on trouve une solution plus générale ça serais sympa pour les gens qui auront le même problème dans d'autre situation différentes de la mienne .

    Merci à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. java.sql.SQLException: Ensemble de résultats épuisé
    Par khaoula24isg dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/05/2012, 19h25
  2. Réponses: 1
    Dernier message: 17/04/2009, 09h03
  3. Réponses: 2
    Dernier message: 20/04/2008, 22h40
  4. Réponses: 1
    Dernier message: 16/01/2008, 12h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo