cs_oceane751
Messages postés150Date d'inscriptionjeudi 23 décembre 2004StatutMembreDernière intervention20 décembre 2012
-
2 mars 2008 à 22:44
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 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();
}
}
}
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 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/
cs_Kysic
Messages postés332Date d'inscriptionmardi 12 juillet 2005StatutMembreDernière intervention17 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/