Obligation d'utiliser un while et inconvenients

cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012 - 2 mars 2008 à 22:44
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010 - 3 mars 2008 à 21:50
bonjour à tous

comme le titre de mon post l'indique, j'ai une boucle while que je suis obligée d'utiliser mais le soucis est que dans cette boucle il y a des JOptionPane, donc qui s'affichent autant de fois qu'il y a de resultat, mais qui doivente etre obligatoirement être dans la boucle
mais alors comment faire pour n'afficher qu'une seule fois le message du JOptionPane?

mon code :

public

void actionPerformed(ActionEvent e) {

if (e.getSource() =  = 
but){
Fonction fonc new  Fonction();String requetee  

"SELECT heure, date_rdv FROM membres ";ResultSet res =  fonc.Conec(requetee);

 try  {

while(res.next()){

String heureReq  = res.getString(1);

String dateReq =  res.getString(2);
 if  ( (heureReq  textheure.getText()) && (dateReq 
textdate.getText()) ){

JOptionPane. showMessageDialog (

 null , 
"dejà une RDV pour cette heure",
"deja une RDV pour cette heure", JOptionPane.
NO_OPTION );}

else{

String requete   = 

"INSERT INTO membres (nom, heure, date_rdv) VALUES('"+
textnom.getText()+
"', '"+
textheure.getText()+
"', '"+
textdate.getText()+
"')"; System.

out.print(requete);

int y =  fonc.maj(requete);

 if  (y ! = 0){

Disposition dispo = 

new Disposition();dispo.setVisible(

true);setVisible(

false);JOptionPane.showMessageDialog(

null, 
"insertion bien effectuéé",
"insertion bien effectuéé", JOptionPane.
OK_OPTION ); }

}

} 

}

catch (SQLException e1) {

// TODO Auto-generated catch blocke1.printStackTrace();

}

}

}



merci beaucoup

3 réponses

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
2 mars 2008 à 23:09
Salut,
je vois deux solutions suivant ce que tu veux faire, soit tu utilise un break pour sortir du while après le message,
soit tu utilise un boolean que tu initialise avant ta boucle pour savoir si tu as déjà affiché le message ou pas.
Après je ne suis pas non plus sur que la requète fasse exactement ce que tu veux:
Est ce normal que le INSERT INTO soit répéter ?
J'ai plutôt l'impression que tu voudrais parcourir ta boucle, mettre changer la valeur d'un bouléen et faire un break si jamais il y a déjà un rendez vous spécifier, puis à la sortie de la boucle, soit afficher le message d'erreur, soit insérer le rendez vous suivant la valeur du booléen.
Bonne continuation en tout cas
http://kysicurl.free.fr/
0
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
2 mars 2008 à 23:43
bon j'ai utiliser le break (le truc con mdr ) merci

j'aurai besoin d'une petite explication

quand je fais
while

(res.next()){

String heureReq = res.getString(1);

....

}

normalement, je boucle sur les resultats du champs 1, et ça me donnes tous les resultats, c'est bien ça?

 

car là, ça ne me sort que le 1er enregistrement

 
0
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
3 mars 2008 à 21:50
Tout dépend d'où est fait l'affichage.
A l'intérieur de la boucle heureReq
devrait en effet prendre toute les valeurs une à une à moins que la boucle
ne soit interrompu.
(Et puis à l'extérieur il ne doit pas exister puisque déclaré à l'intérieur).
http://kysicurl.free.fr/
0
Rejoignez-nous