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 �clair� 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
    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 �clair� 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
    Par d�faut
    Malheureusement �a ne marche pas !

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

    Informations professionnelles :
    Activit� : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    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 �clair� 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
    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 exp�riment� Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 50
    Localisation : France, Deux S�vres (Poitou Charente)

    Informations professionnelles :
    Activit� : Concepteur SOA

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

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

  7. #7
    Membre �clair� 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
    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 exp�riment� Avatar de Seb19
    Homme Profil pro
    Concepteur SOA
    Inscrit en
    Septembre 2005
    Messages
    217
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 50
    Localisation : France, Deux S�vres (Poitou Charente)

    Informations professionnelles :
    Activit� : Concepteur SOA

    Informations forums :
    Inscription : Septembre 2005
    Messages : 217
    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