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

JDBC Java Discussion :

[JDBC]Requêtes impriquées


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut [JDBC]Requêtes impriquées
    Voilà, je veux faire ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       ResultSet rs = db.getQuery("SELECT nom,id FROM installations WHERE dependde IS NULL ORDER BY nom");
       while (rs.next()) {
         String nom=rs.getString("nom");
         String id=rs.getString("id");
         this.installation.addItem(nom);
         //Ajout des éléments qui en dépendent
        String requete2="SELECT nom FROM installations WHERE dependde="+id+" ORDER BY nom";
            ResultSet rs2=db.getQuery(requete2);
            String nomSous="";
            while (rs2.next()){
              nomSous=rs2.getString("nom");
              this.installation.addItem(nom+"/"+nomSous);
            }
    Le souci est que, lorsque je fais rs2, il y a perte des autres résultats de rs, a priori ; comment faire ?

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 29
    Points : 34
    Points
    34
    Par défaut
    Losqu'une requete est lancée son resultat est stocké dans un objet de type ResultSet et ya pas de raison qu'il soit modifié par la suite à cause des autre requetes.
    Tu es certain que ta base de départ comporte plus d'un tuple avec dependde=null ?

    Sinon je pense qu'il est plus intéréssant pour toi de travailler sur ta réquete sql que sur ton code java. Essaie une jointure sur tes bases et aprés tu recuperes le resultat en java.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select i1.nom, i2.nom
    from intallations i1, installations i2
    where i1.dependde=null
    and i2.dependde=i1.id

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Il est impossible d'avoir deux resultSet ouverts en même temps.

    Il faut que tu te bébrouilles pour récupérer les résultats de ton 1er resultSet à part (dans un tableau par exemple, tu fais une fonction à part) et que tu le parcours pour ta deuxième requête.

    C'est clair non !!

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 58
    Points : 52
    Points
    52
    Par défaut
    Si, tu peux avoir plusieurs Resulset ouvert en meme temps. Ce sont 2 objets independants. Il n'y a pas de souci.

    Mais je pense que staul a raison. Optimises ta requete avant.

    --
    Bicnic.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 58
    Points : 38
    Points
    38
    Par défaut
    je te conseille de suivre le conseil de staul. c'est elle la plus simple et la plus puissante. personellemet, je travaille avec ce type de requetes SQL

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    Ok, merci

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

Discussions similaires

  1. jdbc requêtes imbriquées
    Par couf35 dans le forum JDBC
    Réponses: 1
    Dernier message: 26/04/2010, 18h50
  2. [JDBC] Requête avec une date sous la forme dd/MM/yyyy
    Par sylviefrfr dans le forum JDBC
    Réponses: 6
    Dernier message: 12/11/2005, 09h35
  3. [JDBC] Faire plusieurs requète
    Par picomz dans le forum JDBC
    Réponses: 9
    Dernier message: 25/05/2005, 14h33
  4. [JDBC]constructeur de requêtes
    Par Speeder dans le forum JDBC
    Réponses: 3
    Dernier message: 15/03/2005, 13h52
  5. [JDBC] ResultSet d'une Requête stockée
    Par YéTeeh dans le forum Oracle
    Réponses: 6
    Dernier message: 15/05/2004, 18h35

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