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 :

java.sql.SQLException: Operation not allowed after ResultSet closed


Sujet :

JDBC Java

  1. #1
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut java.sql.SQLException: Operation not allowed after ResultSet closed
    Salut les ami(e)s,
    J'essaie de remplir une table depuis le résultat d'une requête SQL sur une autre table.

    Voila le code que j'ai utlisé:
    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
     
    try {
              Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");
     
              Statement instruction = connexion.createStatement();
              String sql_select = "SELECT date,username,count(username) as volume 
    from proxy group by username order by count(username) desc" ;
              ResultSet resultat = instruction.executeQuery(sql_select);
     
              while (resultat.next())
                {
     
               System.out.println("Date     : "+ resultat.getDate("date"));
               System.out.println("username : "+ resultat.getString("username"));
               System.out.println("Compte   : "+ resultat.getInt("volume"));
               System.out.println("---------------------------------------);
     
               instruction.executeUpdate("insert into top_user (date,username,volume)
    values('"+resultat.getDate("date")+"','"+resultat.getString("username")+"',"+resultat.getInt("volume")+")");
     
                }        
     
            }
                catch (Exception e) 
                 {
                 e.printStackTrace();
                 }
    Mais cette arreur apparaît
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.sql.SQLException: Operation not allowed after ResultSet closed
    Est ce que quelqu'un a une idée !
    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Si tu mets les résultats dans des variables et que tu travailles ensuite avec ces variables ca ne marche pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Date d = resultat.getDate("date");
    String user = resultat.getString("username");
    int vol = resultat.getInt("volume");
    Il me semble qu'on ne peut faire qu'un seul accès pour les résultats, mais je dis peut-être une bêtise

  3. #3
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Malheureusement ça ne marche pas !

  4. #4
    Membre actif Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Points : 292
    Points
    292
    Par défaut
    Bonjour,
    Et avec quelque chose comme ça, c'est OK ?
    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
     
    Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");
     
    Statement instruction = connexion.createStatement();
    String sql_select = "SELECT date,username,count(username) as volume 
    from proxy group by username order by count(username) desc" ;
    String sql_insert = "insert into top_user (date,username,volume) values(?,?,?)";
     
    ResultSet resultat = instruction.executeQuery(sql_select);
    while (resultat.next()) {
               System.out.println("Date     : "+ resultat.getDate("date"));
               System.out.println("username : "+ resultat.getString("username"));
               System.out.println("Compte   : "+ resultat.getInt("volume"));
               System.out.println("---------------------------------------);
     
               PreparedStatement pstISRT = cnx.prepareStatement(sql_insert);
               pstISRT.setDate(1,resultat.getDate("date"));
               pstISRT.setString(2,resultat.getString("username"));
               pstISRT.setInt(3,resultat.getInt("volume"));
    	   try {
    		pstISRT.executeUpdate();
     
    	   } catch (SQLException e){
    ..................
               }
    }

  5. #5
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Merci
    Citation Envoyé par Seb19

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         PreparedStatement pstISRT = cnx.prepareStatement(sql_insert);
    Le cnx c'est quoi exactement ? Parce que j'ai une erreur

  6. #6
    Membre actif Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Points : 292
    Points
    292
    Par défaut
    Oups, mauvais copier coller.

    cnx correspond à la connection à la DB. Dans ton cas, c'est instruction

  7. #7
    Membre habitué Avatar de condor_01
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    294
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 294
    Points : 133
    Points
    133
    Par défaut
    Oui je viens juste de corriger.
    En tout cas c'est un manque d'attention de ma part.
    Merci beaucoup.
    Le problème est résolu.

  8. #8
    Membre actif Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    Points : 292
    Points
    292
    Par défaut
    Citation Envoyé par condor_01
    En tout cas c'est un manque d'attention de ma part.
    De la mienne également.

    Merci de passer en

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/03/2013, 10h55
  2. Erreur "Operation not allowed after ResultSet closed"
    Par boubounagh dans le forum JDBC
    Réponses: 18
    Dernier message: 28/01/2012, 15h42
  3. Operation not allowed after ResultSet closed
    Par menakikou dans le forum Débuter
    Réponses: 1
    Dernier message: 22/09/2009, 16h38
  4. SQLexception: Operation not allowed after ResultSet closed
    Par fripette dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/06/2008, 09h58
  5. Operation not allowed after ResultSet closed
    Par Smix007 dans le forum JDBC
    Réponses: 3
    Dernier message: 10/03/2008, 17h28

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