Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2984 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  exception: before start of result set

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

exception: before start of result set

n°2181620
bloomingda​ls
Posté le 21-03-2013 à 17:16:42  profilanswer
 

bonjour tout le monde,  
 
j'essaie depuis des heures d'exécuter ce code mais j'ai sans arret une exception "before start of reslut set"
voici le code  
 
public class DBUpdate {
     
    static File fichier;
    static String separateur;
    static String SQLTable;
    static String colonne;
    static String chaine_fichier ="";
    static String chaine_table="";
     
 public DBUpdate (File fichier, String separateur, String SQLTable, String colonne){
             
            this.fichier=fichier;
            this.separateur=separateur;
            this.SQLTable=SQLTable;
            this.colonne=colonne;
   
 String url = "jdbc:mysql://localhost:3306/base";
        String password= "base";
        String username= "root";
 
     try{  
           //connexion à la base de données
          Class.forName("com.mysql.jdbc.Driver" ).newInstance();
          Connection connexion = DriverManager.getConnection(url, username, password);
          Statement instruction = connexion.createStatement();
          ResultSet r = instruction.executeQuery("select * from "+this.SQLTable+"" );  
           
   
         try{         InputStream ips=new FileInputStream(fichier);  
   InputStreamReader ipsr=new InputStreamReader(ips);
   BufferedReader br=new BufferedReader(ipsr);
          String ligne;
         
                 while (((ligne=br.readLine())!=null) || r.next()){
                                String str[] =ligne.split(this.separateur);
                                chaine_fichier=str[1];
                                chaine_table=r.getString(this.colonne);
                                instruction.executeUpdate("update "+SQLTable+" set "+colonne+"='"+chaine_fichier+"' where    "+colonne+"='"+r.getString(colonne)+"'" );
   }
             
   br.close();  
                        connexion.close();
  }  
  catch (Exception e){
   System.out.println("ici" +e.toString());
                   
           
          }
         
      }
     catch (Exception ie)  {
          System.out.println(ie);}
         
 
       
 }
         
     
        public static void main(String[] args) {
        DBUpdate r=new DBUpdate(new File ("/root/Desktop/peerIP" ),"= ","test","adresse" );
         
         
    }
}
 
j'ai essayé d'englober la boucle while par ce test (if r.next()) mais ca me retourne une exception operation not allowed after result set closed)
aidez moi à trouver l'erreur  

mood
Publicité
Posté le 21-03-2013 à 17:16:42  profilanswer
 

n°2181986
devicenotr​eady
insert disk and retry
Posté le 23-03-2013 à 11:08:14  profilanswer
 

Bonjour,
 
- Utilise la balise [code] pour rendre la lecture plus aisée
- Message d'erreur complet - sur quelle ligne cela se produit?


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
n°2181988
devicenotr​eady
insert disk and retry
Posté le 23-03-2013 à 11:11:19  profilanswer
 

Double topic pour la même question?
 
http://forum.hardware.fr/hfr/Progr [...] 9170_1.htm


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
n°2182390
tusc
Posté le 25-03-2013 à 23:49:01  profilanswer
 

@devicenotready: non, l'erreur est différente.
@bloomingdals: ton erreur est dans ta condition de boucle:

Code :
  1. while (((ligne=br.readLine())!=null) || r.next())


Dans un "or parresseux" (||), si le 1er membre de la condition est vrai, le 2ème n'est pas exécuté.
C'est ici le cas, donc r.next() n'est pas exécuté, donc ton ResultSet restera à sa position initiale, tant que ton fichier contiendra des lignes.
Sur ta seconde erreur, je ne sais pas.
Je te conseille de faire les choses les 1 aprés les autres plutôt que tout en même temps, cela sera plus clair:
1) lire le contenu de ton fichier dans un tableau
2) lire ta table et ranger les valeurs du champ "adresse" dans un autre tableau
3) en dernier lieu, faire tes requêtes de mise à jour en parcourant tes tableaux


Message édité par tusc le 25-03-2013 à 23:49:34

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  exception: before start of result set

 

Sujets relatifs
Erreur de compilation : expected expression before ‘%’ tokenPosition d'une liste avec counter et :before
couleur tableau fct result valeur colonne csv[C#]marque l'exception xamlparseexception n'a pas été gérée
Probleme Warning: session_start() [function.session-start]Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError
[C#/.NET]Exception 0x8007007E et import de dllException code in C ???
[Batch] Pétage de cable; start affinité CPU 1Petit problème php Warning: session_start..
Plus de sujets relatifs à : exception: before start of result set


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR