Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2117 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JAVA : Erreur avec 2 requêtes imbriquées :'-|

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JAVA : Erreur avec 2 requêtes imbriquées :'-|

n°779347
camarchepo​a
m'enfin !
Posté le 26-06-2004 à 22:53:03  profilanswer
 

Bonjour !
 
Je voudrai faire une requête dans une table pour récupérer des ID (avec un group by pour les avoir une seule fois)  
 
ensuite avec une boucle rechercher dans une autre table pour chacun d'eux des infos
 
Ca me donne une erreur "java.sql.SQLException: Before start of result set " mais ca fonctionne bien au premier passage dans la boucle  :pt1cable:  
 
les reqêtes foinctionnenet bien séparément
j'utilise le le connector/J : mysql-connector-java-3.0.14-production-bin.jar (le dernier hors beta)
 
je sais pas quoi faire  :(  
 
help please  :sweat:  
 
J'ai mis tout le code tel quel car l'erreur vient peut être d'ailleurs ...
 

Code :
  1. try{
  2.    CreateConnexion createdConn = new CreateConnexion();
  3.    Connection conn = createdConn.getConnexion();
  4.    Statement s = conn.createStatement();
  5.    // permet d'obtenir tous les ID des livres visibles
  6.    String rqLivres = " ";
  7.    rqLivres += " SELECT l.livre_d_or_id, l.livre_d_or_repertoire  ";
  8.    rqLivres += " FROM livres_d_or l ";
  9.    rqLivres += " WHERE l.livre_d_or_visible = 1 ";
  10.    rqLivres += " ORDER BY l.livre_d_or_id ASC ";
  11.    ResultSet rsLivres = s.executeQuery(rqLivres);
  12.    // Pour chaque livre d'or on va chercher la première dédicace
  13.    String rqFirstDed = " ";
  14.    ResultSet rsFirstDed;
  15.    String repertoire = "";
  16.    String idLivre = "";
  17.    while(rsLivres.next()){
  18.     repertoire = rsLivres.getString(2);
  19.     idLivre = rsLivres.getString(1);
  20.     rqFirstDed=" ";
  21.     rqFirstDed +=" SELECT d.dedicace_nom ";
  22.     rqFirstDed +=" FROM dedicaces d";
  23.     rqFirstDed +=" WHERE livre_d_or_id = "+idLivre+" ";
  24.     rqFirstDed +=" ORDER BY dedicace_rang ASC ";
  25.     rsFirstDed = s.executeQuery(rqFirstDed);
  26.     out.println("<img src='"+request.getServerName()+":"+request.getServerPort()+"/dedicam/"+repertoire+"/"+rsFirstDed.getString(1)+".jpg'>" );
  27.    }
  28.    conn.close();
  29.   } catch (Exception e){
  30.    out.println(e);
  31.   }


Message édité par camarchepoa le 26-06-2004 à 22:56:22
mood
Publicité
Posté le 26-06-2004 à 22:53:03  profilanswer
 

n°779351
camarchepo​a
m'enfin !
Posté le 26-06-2004 à 23:27:02  profilanswer
 

en fait c'est le "rsLivres.next()" qui pose problème  
 
En effet si je retire le while il fait qu'un passage et ca fonctionne bien ....
 
Apparement il ferme le ResultSet mais pourquoi ?
 
on peut pas le rouvrir :??: :D
 
 
 
edit et si je rajoute "rsLivres = s.executeQuery(rqLivres);" à la fin du while il part bien en boucle infinie donc ca confirme la source du problème (pq ? c mal les boucles infinies   :whistle:  )


Message édité par camarchepoa le 26-06-2004 à 23:29:33
n°779716
darklord
You're welcome
Posté le 27-06-2004 à 20:16:20  profilanswer
 

Tu ne peux pas réutiliser ton statement pour faire une deuxième query si tu as un resultset ouvert.
 
Et utilises des PreparedStatement!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JAVA : Erreur avec 2 requêtes imbriquées :'-|

 

Sujets relatifs
[JAVA - DEBUTANT] Ajouter xerces à NEtBeans ?Gerer des flux boursiers en Java
erreur requete insertionJava application -> connection sqlserver Pbm driver dans Manifest
Pbl corba javaComment lister les bases de données Mysql en java?[resolut]
[VBA Excel] Erreur 424 sur une requete sql Access dans excel [Resolu][JAVA - SWING] JButton dans une JTable
Une erreur à cause de dba_open() !Projet Java et opensource
Plus de sujets relatifs à : JAVA : Erreur avec 2 requêtes imbriquées :'-|


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR