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

avec Java Discussion :

Problème avec un resultatsSet.next()


Sujet :

avec Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut Problème avec un resultatsSet.next()
    Rebonjour,

    Mon pb du jour : j'utilise un result_ref = ppt.executeQuery(); puis result_ref.next(); mais le pb c'est que le dernier enregistrement de ma requête n'est pas traité.Normal vous me direz car next() pointe sur l'enreg suivant .....alors comment faire pour traiter mon dernier enreg ????
    Merci d'avance pour vos idées,
    NFHnv

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Peut-on voir ton code?

    A+.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    Est-il possible de lire une requête sans le while(resultSet.next() ) car je ne veux pas boucler ???Si je mets resultSet.next() il va pointer sur le svt ...mais n'existe-t-il une solution pour juste lire sans pointer sur quelque chose ???
    NFHnv

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    Voici mon code :
    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
    try{Statement stmt = conn.createStatement(); 
         resultats = stmt.executeQuery(requete); 
         while (resultats.next())
           { 
              int  no_individu= resultats.getInt(1);
              String Nom_usuel =resultats.getString(2);
              String Prenom =resultats.getString(4);
              String Prenom2=resultats.getString(5);
    		     		    
    		         		         
     
              PreparedStatement ppt;
             ppt = conn_refuni.prepareStatement("select distinct "+ 
    		                                  "i.id_individu,"+						        "i.toto,"+    				                                               "i.titi "+
    								                                              "from "+
    								                                             "individu i, personnels p "+
    		                                "where " +						                   " p.supannempid=? " +					              " and p.id_personnels = i.id_individu "+
    								                                       "order by 1");
             ppt.setInt(1,no_individu); 
            result_ref = ppt.executeQuery(); 
            result_ref.next();       
            toto=result_ref.getString(3);
    				          
            Verif_unicite_mail( toto,Nom_usuel,Prenom,Prenom2        ,ctx,no_individu,conn);
           }	  
    			      		
            stmt.close();
    }
    		     
    catch (SQLException e) 
    		    {e.printStackTrace();
    		    }
    Le pb est que je ne veux pas boucler car je suis dejà dans une boucle.Je passe en paramètre de ma seconde requête le no_individu de la première.
    Une idée, merci ????
    NFHnv

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    Pas d'idée car l j'avoue ne plus comprendre ??????

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Tu n'as qu'à utiliser des variables pour garder sous la main les éléments lus avec next().

    Autre possibilité : tu commences par boucler avec next() pour parcourir tous les éléments et tu les sauvegardes dans une ArrayList. Puis tu traites cette ArrayList comme ça te chante.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    J'ai modifié mon code pour boucler sur le deuxième result_ref.
    Mais je n'ai tjrs pas mon dernier enreg.
    La réponse que j'ai eu ne me satisfait pas car cela ne m'explique pas pourquoi je n'ai pas cet enreg .....je ne vais pas casser tout mon code sans explication.
    Est-ce que dautres personnes ont des idées ??
    NFHnv

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Citation Envoyé par NFHnv Voir le message
    J'ai modifié mon code pour boucler sur le deuxième result_ref.
    Peut-on voir ton code?
    Et ce serait bien si on n'avait plus jamais besoin de te le demander.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    J'ai mis mon code au dessus ...pas la peine de s'enerver, faut lire !!
    NFHnv

  10. #10
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    NFHnv

    Je ne vois pas pourquoi tu te refuse à boucler sur le ResultSet. C'est normal que tu n'ai alors pas tous tes enregistrements puisque tu fais un next() et c'est tout. Du coup, si tu en as d'autre après, macache ! Ils passent à la trappe.

    La meilleure solution consiste à traiter TOUS les enregistrements retournés, et si seul un t'intéresse (tu ne peux pas connaître sa position dans le résultat...) et bien il faut mettre en place un jeu de conditions !

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    Rebonjour,

    Voici mon nouveau code, il fonctionne bien pour tous les enreg mais je n'est tjrs pas le dernier enreg de la deuxième requête qui est traité.....et par conséquent il me manque un enreg au final.

    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
    try{
          Statement stmt =conn.createStatement(); 
          resultats = stmt.executeQuery(requete); 
     
          while (resultats.next())
          { 
             int  no_individu= resultats.getInt(1);
            String Nom_usuel =resultats.getString(2);
            String Prenom =resultats.getString(4);
            String Prenom2=resultats.getString(5);
     
     
            PreparedStatement ppt;
            ppt = conn_refuni.prepareStatement("select distinct "+ 
    		                                    "i.id_individu,"+
    		                                    "i.cn,"+
    	                                                "i.toto "+
    		                               "from "+
    	                                                 "individu i, personnels p "+
    		                               "where " +
    	                                                 " p.supannempid=? " +
    		                                   " and p.id_personnels =     
                                                                 "i.id_individu "+
                                                                 "order by 1");
     
            ppt.setInt(1,no_individu); 
            result_ref = ppt.executeQuery(); 
      			        				           	   while( result_ref.next())
    	   {
                       toto=result_ref.getString(3);
                       Verif_unicite_mail( toto,Nom_usuel,Prenom,Prenom2                                                                    ,ctx,no_individu,conn);
    	    }
     
     
       }stmt.close();}
     
    catch (SQLException e) 
            { 	e.printStackTrace();}
    Si quelqu'un a une idée ....au fait, je n'ai rien contre les boucles mais j'essaie de comprendre car jusqu'à présent je n'avais pas utilisé de resultset.next() ....
    Merci pour vos idées d'erreur sur mon code car je ne vois plus rien ......
    NFHnv

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    Il y a eu une erreur dans monpost précédent,après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     result_ref = ppt.executeQuery();
    il y a qui n'apparait pas mais qui y est dans mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while( result_ref.next())
    Merci d'avance

  13. #13
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    Bon alors premièrement, j'ai du mal à lire ton code ! Faudrait l'indenter qu'il apparaisse convenablement...

    Sinon ça à l'air bon, si t'exécute tes requêtes en BdD directement, ça donne bien ? Ou sinon tu passe en mode débug et tu repère les erreurs.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 265
    Par défaut
    C'est bon j'ai enfin trouvé ...ce n'était pas un pb java mais un pb dans une de mes bases.
    Merci tout de même pour votre participation à mes questions.
    NHVnv

  15. #15
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 124
    Par défaut
    Au pire si tu ne voulais vraiment pas boucler, il faut faire des requêtes SQL plus précises...

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

Discussions similaires

  1. problème avec la méthode find et find next
    Par Sylvie66 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2015, 18h33
  2. Problème avec next
    Par liop49 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 10/04/2009, 12h28
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 19h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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