Salut tout le monde,
je suis entrain de programmer une application java qui opère sur une BD access
j'ai une méthode pour la mise à jour des champs et une autre pour la suppression
les 2 méthode marchent bien séparément
mais quand j'appelle une méthode après l'autre dans le code d'un bouton
seule la mise à jour aboutit
même si je fait un commit() et je ferme la connexion au sein de chaque méthode
et sachant que j'ai placé des boites de message dans la méthode de suppression et ça montre qu'on entre dans la méthode et que chaque ligne est bien exécutée
est ce que vous n'auriez pas une idée pourquoi seule la méthode de mise à jour aboutit et non celle de la suppression?
j'espère que je n'ai pas commit des erreurs bêtes, en tt cas voici les codes:
le code de la suppression :
et voici la méthode de mise à jour:
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 public static void supprimerActifs(int mat,int rayon,int niveau,int boitier){ try{ Connection cnx=outils.connex_emplacements(); PreparedStatement stm=cnx.prepareStatement("DELETE FROM actifs where matricule=? and rayon=? and niveau=? and boitier=?"); stm.setInt(1, mat); stm.setInt(2,rayon); stm.setInt(3,niveau); stm.setInt(4,boitier); cnx.commit(); stm.execute(); cnx.close(); }catch(SQLException sqlex){ sqlex.printStackTrace(); } }
j'attends votre aide
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
36
37
38
39
40
41
42
43 public static void deplacerActifs(int mat,String nom,String prenom,int rayon,int niveau,int boitier){ try{ ResultSet r=Recherche.rechercherActif(mat); r.last(); if(r.getRow()==0){ Ajouter.ajouterActif(mat, rayon, niveau, boitier); r.close(); }else{ int l=JOptionPane.showConfirmDialog(null,"Le dossier éxiste déja dans les rayon des actifs voulez vous mettre à jour ces coordonnées?","Mise à jour?", JOptionPane.YES_NO_OPTION); if(l==JOptionPane.YES_OPTION){ try{ r.close(); Connection connex=outils.connex_emplacements(); PreparedStatement stm= connex.prepareStatement("UPDATE actifs set rayon=?,niveau=?,boitier=? where matricule=?"); stm.setInt(4,mat); stm.setInt(1,rayon); stm.setInt(2,niveau); stm.setInt(3,boitier); stm.execute(); connex.commit(); stm.close(); connex.close(); }catch(SQLException sqle){ System.out.println("Error code: "+sqle.getErrorCode()+": "+sqle.getMessage()); }catch(Exception ex){ System.out.println("Error"+ex.getMessage()); ex.printStackTrace(); } } } } catch(SQLException sqlex){ sqlex.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } }
merci
Partager