Bonjour à tous,
Je cherches à faire fonctionner un bout de code correctement pour qu'il me récupère des informations dans deux tables afin qu'avec ces résultats, je puisse faire une mise à jour un champ dans la 2eme table avec les infos receuillie dans la première et à l'endroit correspondant à l'identifiant reçu de la première table. j'ai essayé avec une boucle while, mais il passait toujours une ligne et avec un if, il ne fait que la première ligne et s'arrête. J'ai une classe RequestDB qui contient les commande de byStatementQuery et by StatementUpdate. Pouvez-vous m'aider à faire allez cela correctement. Voici l'extrait de code :
Merci d'avance de 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 private void SupToutCmdes(java.awt.event.ActionEvent evt) { // TODO add your handling code here: majSDAgt = new RequestDB(); selArtSup = new RequestDB(); selAgtArtSup = new RequestDB(); soldDisposupp = totArtSu=0; String querySoldAgt; rechArtSup = "SELECT MATRAGENT , TOTART FROM commandes WHERE CODEART ='"+codArtSuppress.getText()+"'"; selArtSup.openMyDataBaseConnection(); if (selArtSup.byStatementQuery(rechArtSup) != null) { if (selArtSup.myGoNext()) { numMatSGAP.setText(""+selArtSup.myGetString("MATRAGENT")); totArtSGP.setText(""+selArtSup.myGetString("TOTART")); totArtSu=Integer.parseInt(totArtSGP.getText()); selAgtArtSup.openMyDataBaseConnection(); querySoldAgt = "SELECT SOLDDISPO FROM personnel WHERE MATRAGENT ='"+numMatSGAP.getText()+"'"; if(selAgtArtSup.byStatementQuery(querySoldAgt)!=null) { if (selAgtArtSup.myGoNext()) { soldAgtSGAP.setText(""+selAgtArtSup.myGetString("SOLDDISPO")); soldDisposupp=Integer.parseInt(soldAgtSGAP.getText()); } else { JOptionPane.showMessageDialog(null, "Aucun solde correspondant!"); selAgtArtSup.closeMyDataBaseConnection(); } } else { JOptionPane.showMessageDialog(null, "Aucun agent correspondant"); } selAgtArtSup.closeMyDataBaseConnection(); JOptionPane.showMessageDialog(null,"SoldDispoArtSup : "+soldDispoArtSup); soldDisposupp+=totArtSu; JOptionPane.showMessageDialog(null, "après addition : "+soldDisposupp+" matricule à updater : "+numMatSGAP.getText()); rechAgtSDMaj = "UPDATE personnel SET SOLDDISPO='"+soldDisposupp+"' WHERE MATRAGENT ='"+ numMatSGAP.getText() +"'"; majSDAgt.openMyDataBaseConnection(); majSDAgt.byStatementUpdate(rechAgtSDMaj); majSDAgt.closeMyDataBaseConnection(); selArtSup.myGoNext(); } else { JOptionPane.showMessageDialog(null,"Fin de table "); selArtSup.closeMyDataBaseConnection(); } //selArtSup.myGoNext(); } else { JOptionPane.showMessageDialog(null, "Aucune commande 96"); } majSDAgt.closeMyDataBaseConnection(); selArtSup.closeMyDataBaseConnection(); }
Partager