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 +sieurs requetes ou réutilisation du même ResultSet


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 2
    Points : 3
    Points
    3
    Par défaut JDBC +sieurs requetes ou réutilisation du même ResultSet
    Bonjour tout le monde.

    Monm problème est le suivant :
    j'execute une requetes SQL mais je ne peux pas réutiliser le même ResultSet (il est vide aprs)

    while (rs.next()) {
    traitement1
    }

    while (rs.next()) {
    traitement2
    }

    aucun traitement car rs n'a plus de next

    pourriez vous m'aider svp
    Merc d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    faisant une copie, cree deux ResultSet r1,r2;
    et met r1 dans r2 je ne sais pas qqch comme ca.

    C'est normal qu'il est vide puisqu'a la fin de la boucle le pointeur dans le resultSet se trouve a la fin, donc y a plus d'element.

    Fix

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par fix105
    faisant une copie, cree deux ResultSet r1,r2;
    et met r1 dans r2 je ne sais pas qqch comme ca.
    On ne peut pas "copier" un ResultSet...

    Citation Envoyé par fix105
    C'est normal qu'il est vide puisqu'a la fin de la boucle le pointeur dans le resultSet se trouve a la fin, donc y a plus d'element.
    En effet le problème vient bien de là !


    Quelques solutions :

    • Soit tu ré-exécute la requetes SQL pour obtenir un nouveau ResultSet.
    • Soit tu utilises un ResultSet "Scrollable" en utilisant ResultSet.TYPE_SCROLL_INSENSITIVE lorsque tu crée ton Statement (cf la FAQ : Quels sont les différents types de ResultSet ?). Ainsi il te suffit de faire un rs.beforeFisrt() juste avant la seconde boucle...
    • Soit tu copies le résultat de ton ResultSet dans un Collection que tu pourras ensuite utilisé dans la seconde boucle...
    • Soit tu effectues tes deux traitement dans la première boucle



    A toi de voir...

    a++

  4. #4
    Membre habitué Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Tu peux aussi piloter le pointeur de ton resultset
    Attention le +1 est mis parce que le pointeur commence à 1 et pas à 0 comme les tableaux

Discussions similaires

  1. Réponses: 13
    Dernier message: 11/11/2010, 12h40
  2. [requete] copie dans la même ligne
    Par MatMeuh dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/07/2006, 10h44
  3. [JDBC]Boucle sur tous les éléments du ResultSet
    Par Terminator dans le forum JDBC
    Réponses: 1
    Dernier message: 22/09/2005, 19h30
  4. [java/jdbc]SIMPLE REQUETE SQL: expression abssente
    Par b_52globemaster dans le forum JDBC
    Réponses: 6
    Dernier message: 16/08/2005, 11h38
  5. Réponses: 2
    Dernier message: 22/04/2005, 15h53

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