Salut Tout le monde aidez moi .
Ma premier classe est la bases et ses fonctions.
En general je fait une application de gestion mais le problem est que je ne peut modifier un ligne, mais l'ajout ce passe bien, mais a la modification apres selection de la ligne une exception apparet dans les logs;Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6 ...
Puis l'interface utilisateur
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
69
70
71
72
73
74
75
76
77
78
79
80 public class MaBase { Connection connection; Statement statement; String SQL; String url; String username; String password; Socket client; int Port; String Host; public MaBase(String url, String username, String password, String Host, int Port) { this.url = url; this.username = username; this.password = password; this.Host = Host; this.Port = Port; } public Connection connexionDatabase() { try { Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection(url, username, password); } catch (Exception e) {System.err.println(e);// } return connection; } public Connection closeconnexion() { try { connection.close(); } catch (Exception e) {System.err.println(e);// } return connection; } public ResultSet exécutionQuery(String sql) { connexionDatabase(); ResultSet resultSet = null; try { statement = connection.createStatement(); resultSet = statement.executeQuery(sql); System.out.println(sql); } catch (SQLException ex) {System.err.println(ex);// } return resultSet; } //update query public String queryUpdate(String nomTable, String[] nomColonne, String[] contenuTableau, String état) { connexionDatabase(); int i; SQL = "UPDATE " + nomTable + " SET "; for (i = 0; i <= nomColonne.length - 1; i++) { SQL += nomColonne[i] + "='" + contenuTableau[i] + "'"; if (i < nomColonne.length - 1) { SQL += ","; } } SQL += " WHERE " + état; return this.exécutionUpdate(SQL); }
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
69
70
71
72
73
74
75
76
77
78
79
80 public class Articles extends javax.swing.JFrame { ResultSet rs; MaBase db; public Articles() { try{ db = new MaBase( new connection().HOST_DB, new connection().USERNAME_DB, new connection().PASSWORD_DB, new connection().IPHOST, new connection().PORT); } catch(Exception e){ System.err.println("OOOGOOgggggggggggggggg"); } initComponents(); table(); actualiser(); remplirfournisseurs(); remplirlisttype(); } /* REMPLISSAGE DU TABLEAU */ public void table() { String t[] = {"*"}; rs = db.querySelect(t, "articles"); try{ Tblart.setModel(new tablemodel(rs)); } catch(Exception e){ System.err.println("Errreur a la tabbble mmodel !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } nbr.setText(String.valueOf(Tblart.getRowCount())); } //L'erreur vien de la je pense :) private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { if (txtcode.getText().equals("") || txtlib.getText().equals("") || taille.getText().equals("") || quantite.getText().equals("") ) { JOptionPane.showMessageDialog(this, "SVP entrer les informations complete"); } else { String[] colon = {"code","libelle","taille","type","fourni","policier","quantite"}; String[] inf = { txtcode.getText(), txtlib.getText(), taille.getText(), combtype.getSelectedItem().toString(), combfour.getSelectedItem().toString(), quantite.getText() }; String id = String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 0)); System.out.println(db.queryUpdate("Articles", colon, inf, "id='" + id + "'")); table(); actualiser(); } //table selection rows private void TblartMouseClicked(java.awt.event.MouseEvent evt) { txtcode.setText(String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 1))); txtlib.setText(String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 2))); taille.setText(String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 3))); combtype.setSelectedItem(String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 4))); combfour.setSelectedItem(String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 5))); quantite.setText(String.valueOf(Tblart.getValueAt(Tblart.getSelectedRow(), 6))); } }
L'erreur est la suivante :
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 Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 6 at cnx.MaBase.queryUpdate(MaBase.java:203) at gestion.habillts.Articles.jButton3ActionPerformed(Articles.java:673) at gestion.habillts.Articles.access$500(Articles.java:25) at gestion.habillts.Articles$7.actionPerformed(Articles.java:377) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Partager