[clos] actionPerformed

Fermé
dmo83 Messages postés 79 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 11 octobre 2011 - 26 sept. 2011 à 10:59
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 26 sept. 2011 à 19:50
bonjour je veux determiner les actions sur mes boutons qui font des appels sur des methodes mais ça ne marche pas donne moi un coup de main
mon code:
private void btnajouter_actionPerformed(ActionEvent e) {
//determiner si on clic sur bouton ajouter
if(e.getSource()==btnajouter){
jajouter(jref.getText(),jdesigne.getText(),Double.parseDouble(jprix.getText()));
}
}

private void btnafficher_actionPerformed(ActionEvent e) {
//determiner si on clic sur bouton afficher
if(e.getSource()==btnafficher){
jafficher();
}
}
message d'erreur:
Error(684,23): unreported exception java.lang.Exception; must be caught or declared to be thrown

Error(691,21): unreported exception java.sql.SQLException; must be caught or declared to be thrown


bigboss

5 réponses

cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
26 sept. 2011 à 11:32
Salut,

C'est une erreur de compilation. Un appel de méthode susceptible de lever une exception doit l'intercepter (caught) ou la relancer (thrown).

Les numéros de ligne que tu donnes ne nous sont pas d'une grande utilité puisque nous n'avons pas tout le code, mais je suppose que les appels en question sont :

jajouter(...) et jafficher()

Étant donné que ces appels sont déclenchés immédiatement suite à une action de l'utilisateur, il est préférable d'intercepter toute exception avec un bloc try ... catch ... :

try {
monAppelDeMethode(...);
} catch (UnTypeDException e1) {
// traitement de l'exception (affichage console, popup, ...)
} catch (UnAutreTypeDException e2) {
// ...
}

Dans un IDE moderne, ces solutions peuvent être proposées (je pense à Eclipse, où il y a des icônes dans la marge gauche permettant de corriger des problème de compilation).
0
dmo83 Messages postés 79 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 11 octobre 2011
26 sept. 2011 à 12:22
j'arrive a exécuter maintenant,mais je ne réalisé aucune action sur le bouton ajouter et afficher je veux dire que quand j clic sur clic sur le bouton ajouter mes zone de saisie n se vide pas (initialiser)
mon code:
public void jajouter(String jref,String jdesigne,double jprix) throws SQLException, ClassNotFoundException {
/*ResultSet rs=null;*/
Connection conn=null;


String url="jdbc:mysql:/localhost/bd_produit?";

//Class.forName("org.gjt.mm.mysql.Driver");

int resultat;
Statement st=null;
if(conn==null){
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url);
String requete="insert into produit(ref,designation,prix) values('"+jref+"','"+jdesigne+"',"+jprix+")";
st=conn.createStatement();
resultat=st.executeUpdate(requete);
}
catch(SQLException ex){
JOptionPane.showInternalConfirmDialog(null,"sql incorrecte","Erreur",JOptionPane.ERROR_MESSAGE);
}
finally{
if(st!=null){
try{
st.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
}
/*if(rs!=null){
try{
rs.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
}*/
if(conn!=null){
try{
conn.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
}


}


}
initialiser();
}

public void initialiser(){
jref.setText("");
jdesigne.setText("");
jprix.setText("");
}

public void jafficher()throws Exception{
//String requete = "select* from produit";
Connection conn=null;

Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql:/localhost/bd_produit?";

Class.forName("org.gjt.mm.mysql.Driver");
conn=DriverManager.getConnection(url);
ResultSet rs=null;
Statement st=null;
if(conn==null){
try{

String requete = "select* from produit";

st =conn.createStatement();
rs = st.executeQuery(requete);
rs.first();
while(rs.next()){

System.out.println(rs.getString("ref") +" "+rs.getString("designation")+" "+rs.getString("prix"));

}
//rs.close();

}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,"anomalie lors de l'execution de la requete","Erreur",JOptionPane.ERROR_MESSAGE);
}
finally{
if(st!=null){
try{
st.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
}
if(rs!=null){
try{
rs.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
}


}





}


}

bigboss
0
cs_jojolemariole Messages postés 519 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 19 décembre 2016 25
26 sept. 2011 à 12:56
Salut,

Je n'ai pas le temps de regarder ta méthode en détail. Je te conseille d'exécuter en mode pas à pas et de mettre un point d'arrêt au début.
Je regarder peut-être plus tard si personne n'a répondu.
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
26 sept. 2011 à 17:05
salut,

Utilises les balises 'code' ... personne n a envie de lire ça... c est déjà pas bien jolie!!! Le minimum quand on utlise un language c est d en utilisé les conventions d'écriture ;-( ...


GodConan ;o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
26 sept. 2011 à 19:50
Bonjour,

Je te l'avais dit, n'ouvres pas plusieurs fois le même sujet !

http://www.javafr.com/forum/sujet-PROBLEME-CONNEXION_1548156.aspx

Je clos.
0