Salut à tous,
Je développe un thread qui compare le nombre de lignes de ma base de données à chaque 7 secondes dont le code est le suivant:
le code de la méthode verifier():
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 public void run(){ String query = "select count(*) from produit "; try{ ResultSet rs=cn.getResultat(query); while (rs.next()) { nblignes = rs.getInt(1); } rs.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erreur lors de l'exécution de la requête recherche nombre enregistrement client"); } while (isAlive()){ if (verifier(nblignes)==false){ JOptionPane.showMessageDialog(null, "Une modification a été effectué sur la table produit"); } try { Thread.sleep(7000); } catch (InterruptedException ex) { Logger.getLogger(EspionProduit.class.getName()).log(Level.SEVERE, null, ex); } }
et quand j'exécute ce thread dans ma page principale à travers:
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 public boolean verifier(int x) { String query2 = "select count(*) from produit "; try{ ResultSet rs=cn.getResultat(query2); while (rs.next()) { nblignes2 = rs.getInt(1); } rs.close(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erreur lors de l'exécution de la requête recherche du nouveau nombre enregistrement client"); } if( nblignes2 != x) { //System.exit(-1); return false; } else return true; }et j'insère par la suite une nouvelle ligne dans notre base, le thread m'affiche qu'une modification a était lieu mais ce message s'affiche toute les 7 secondes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 EspionProduit thread = new EspionProduit(); // Activation du Thread thread.start();... Alors que je voulais qu'il me l'affiche une seule fois et la nouvelle valeur(=du nombre de lignes) devient celle que le thread va la comparer avec la sienne....
J'espère que vous m'avez compris ... Que dois-je faire?
Mrci pour votre coopération ...![]()
Partager