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]Plusieurs ResultSet en même temps ?


Sujet :

JDBC Java

  1. #1
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut [JDBC]Plusieurs ResultSet en même temps ?
    Bonjour,

    dans mon programme, j'ai mon ResultSet principal dans une boucle, je parcours tous les éléments de ce ResultSet, mais à l'intérieur de la boucle, j'éxécute d'autres requêtes, donc des nouveaux ResulSet avec des éléments du principal. Le problème c'est que quand j'ai fait une première itération et que le deuxième commence, j'ai une erreur :
    Operation not allowed after ResultSet close
    d. Je pense que ca vient du fait qu'à chaque fois que je fais un nouveau ResultSet, il me ferme le précédent, donc à la première itération pas de problèmes, mais le problèmes, c'est que mon ResultSet principal est fermé au moment ou j'entre dans la deuxième itération.

    dans mon code ca donne à peu près quelque chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    premierResultSet = requete sur la table principale
     
     
     
    boucle qui parcourt tous les éléments de premierResultSet
     <div style="margin-left:40px">récupération des premiers éléments
     
    prochainsResultSet = requete sur d'autres tables avec éléments de la table principale
     
     
    </div>Fin de la boucle principale
    Est ce qu'on peut empêcher la fermeture automatique des ResultSet ou alors y a t il une autre technique de faire ?

    Merci

  2. #2
    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,

    Dans l'API :
    A ResultSet object is automatically closed when the Statement object that generated it is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.
    Donc ton result est fermé lorsque tu fais une nouvelle requête...
    Tu dois utiliser un second Statement...

    a++

    PS : Attention à bien fermé tes ressouces

  3. #3
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Merci

    Donc en fait, il me faut un statement principal que je vais employer tous le temps et ensuite je peut employer un deuxième statement pour les requetes secondaires ou alors c'est mieux d'employer un statement par requete ?

    Pour la fermeture des ressources, je fais tout dans le bloc finally, je ferme les ResultSet et le statement, est ce que c'est la bonne solution ?

    J'ai encore une question, la connection, est ce qu'il faut la fermer après chaque opération et l'ouvrir ensuite à chaque fois ou alors est-ce que je peut la laisser tout le temps ouverte (c'est ce que je fais pour le moment)?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Up ! Même question !

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Euh, ta question c'est laquelle ?

    Si c'est la question avec la connection, j'ai trouvé la réponse, en fait, ca dépend beaucoup des requêtes que tu fais...

    Si tu fais beaucoup de requêtes et réguliérement, il vaut mieux laisser tout le temps ta connection ouverte et ensuite la fermer à la fin du programme, mais si au contraire, tu fais peu de requêtes, alors il vaut mieux ouvrir et fermer la connection à chaque fois.

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

Discussions similaires

  1. détecter plusieurs messages en même temps
    Par yannickrohel dans le forum Windows
    Réponses: 5
    Dernier message: 20/02/2006, 23h17
  2. Rendre visible / invisible plusieurs éléments en même temps
    Par Bluespike62 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/01/2006, 17h43
  3. laisser cochés plusieurs TRadioButton en même temps.
    Par heider dans le forum Composants VCL
    Réponses: 5
    Dernier message: 25/12/2005, 14h15
  4. lecture de plusieurs port en même temps
    Par manaboko dans le forum Langage
    Réponses: 3
    Dernier message: 06/10/2005, 15h26
  5. Réponses: 9
    Dernier message: 17/04/2004, 16h32

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