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

Langage Java Discussion :

sortie de boucle


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 84
    Points : 58
    Points
    58
    Par défaut sortie de boucle
    hello,
    j'ai une condition if qui fait un insert dans ma base,cette condition est dans une boucle while. Il me fait bien le premier insert mais la boucle s'arrete ensuite.
    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
     
    try{
    String line;
    while((line = buff.readLine()) != null){
    .
    .
    .
    .
    .
    if(tag == 1){
    InsertBase insert = new InsertBase();
    insert.insertB(transp, pci, clil, cli, ref, ind, refc, sit, just, dtm1, h, del, cp, pds, aenv, menv, jenv);	
    }	
    }
    }finally{
    buff.close();
    }
    la boucle lit un fichier plat avec plusieurs enregistrements dedans, mais apres un insert il me renvoi direct sur le buff.close()
    Si je teste la lecture du fichier sans la condition if, pas de probleme, la boucle parcours bien tout mon fichier.
    Merci de votre aide

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Attention à ne pas faire de doublons. Tu as déjà entaméune discussion sur ce point et tu l'as taggée "résolue" ... Ca ne fait que compliquer les choses ...

    As tu une exception ? Si oui et bien donnes nous sa trace (printStackTrace) ...

    Sinon, utilises tu Oracle ? Si oui regarde du côté de l'outil SQLLoader, ça devrait te servir ...

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 84
    Points : 58
    Points
    58
    Par défaut re
    Ok pour le post j'aurai du continuer. Je fais un insert dans une bas postgres et voila le message apres l'insertion du premier enregistrement

    exception in thread "main" org.postgresql.util.PSQLException: Aucun résultat retourné par la requête.
    at
    org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
    at sernam.InsertBase.insertB(InsertBase.java:59)
    at sernam.Sernam.executeTraitement(Sernam.java:229)
    at sernam.Sernam.main(Sernam.java:29)

    voila le code de insertBase
    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
    28
    29
    30
    31
    32
    33
    34
    35
     
    public void insertB(String transp,String pci,String clil,String cli,String ref,String ind,String refc,String sit,String just,
    			String dtm,String h,String txt,String cp,String pds,String aenv,String menv,String jenv) throws SQLException{
     
    BaseDonnees.connexionPostgres().setAutoCommit(false);
     st1 = BaseDonnees.connexionPostgres().prepareStatement("insert into savsuivitr (cste,cetab,transp,numre,codecli,libcli,cdem,ind,cdecli,sit,just," +
    			"datenv,heure,com,nbcol,poids,an,mois,jour,aliv,mliv,jliv,indx) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
     
    			st1.setString(1, "CRP");
    			st1.setString(2, "E11");
    			st1.setString(3, transp);
    			st1.setString(4, pci);
    			st1.setString(5, clil);
    			st1.setString(6, cli);
    			st1.setString(7, ref);
    			st1.setString(8, ind);
    			st1.setString(9, refc);
    			st1.setString(10, sit);
    			st1.setString(11, just);
    			st1.setString(12, dtm);
    			st1.setString(13, h);
    			st1.setString(14, txt);
    			st1.setString(15, cp);
    			st1.setString(16, pds);
    			st1.setString(17, a);
    			st1.setString(18, m);
    			st1.setString(19, j);			
    			st1.setString(20, aenv);
    			st1.setString(21, menv);
    			st1.setString(22, jenv);
    			st1.setInt(23, indx);
    			rs1 = st1.executeQuery();
    			st1.close();
     
    	}
    il y a insert du 1er enregistrement et il sort de ma boucle
    Merci

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Pourquoi essaies tu de récupérer un ResultSet ?

    Le message d'erreur est clair non ? cette requête ne retourne pas de résultat.

    Pour les requetes insert, delete, update, ce n'est pas executeQuery qu'il faut utiliser. Je te laisse découvrir seul (enfin à l'aide de la javadoc) quelle méthode il faut que tu utilises.

    Deuxième point. Ton st1.close(), il faut le faire dans un bloc finally pour être sûr de fermer dans tous les cas ...

  5. #5
    Membre régulier Avatar de dv-2008
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 240
    Points : 118
    Points
    118
    Par défaut
    Bonjour
    est ce qu'il existe une procédure qui stope la boocle if ou n'importe qu'elles autres boocles

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 84
    Points : 58
    Points
    58
    Par défaut re
    non il n'y a aucune proc pour stopper c'est un if normal dans une boucle while normale.
    Merci a toi In d'avoir pointer du doigt mes graves lacunes, ca m'apprendra a faire plusieures choses en meme temps.
    Tout fonctionne.

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

Discussions similaires

  1. Sortie de boucle inattendue
    Par melreg dans le forum Fortran
    Réponses: 3
    Dernier message: 23/03/2009, 14h53
  2. Données d'Entrée - Sortie - Test - Boucle
    Par edmond dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 20/12/2007, 08h58
  3. probleme de resultat en sortie de boucle for
    Par afssaLERH dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/10/2007, 16h16
  4. sortie de boucle
    Par peldaine dans le forum VBScript
    Réponses: 4
    Dernier message: 18/07/2007, 13h59
  5. Sortie de boucle par validation O/N
    Par kOrt3x dans le forum Ada
    Réponses: 7
    Dernier message: 08/12/2006, 03h15

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