Bonjour j'ai un problème avec une jtable qui ne veut pas se remplir avec mes données qui se trouve sur mysql.
D'après mes tests c'est à l'ultime étape que ça coince puisque quand j'appelle ma méthode de remplissage "remplirjtable" elle affiche le contenu du catch.
Voici mon code merci d'avance pour votre aide puisque là je cherche depuis pas mal de temps mais en vain
Classe connexion
classe testclient où se trouve la requête 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 public class Connexion { public static Connection Ouverture() { Connection c; try { Class.forName("com.mysql.jdbc.Driver"); c = DriverManager.getConnection("jdbc:mysql://localhost/camping new?" + "user=root&password="); return c; } catch (Exception e) { System.out.println("Probleme de connexion"); return null; } }
classe cadreclient où devrait s'afficher ma jtable
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 public static Vector remplirTableau(Connection c) throws Exception { String sql1; String sql2; int i = 0; //int j = 2; Vector v = new Vector(); Client d = new Client(); ResultSet rs1; ResultSet rs2; System.out.println("c:" + c); try { sql1 = "SELECT * FROM client"; //sql2 = "SELECT COUNT (*) FROM CLIENT"; //j=Integer.parseInt(sql2); PreparedStatement s = c.prepareStatement(sql1, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); rs1 = s.executeQuery(); System.out.println("ok"); System.out.println(sql1); if (!rs1.next()) { rs1.close(); System.out.println("pasrentr�"); return null; } else { while (rs1.next()) { System.out.print("codd"); d = new Client(rs1.getInt("NUMERO_CLIENT"),rs1.getString("NOM_CLIENT"), rs1.getString("PRENOM_CLIENT"), rs1.getString("ADRESSE_CLIENT"), rs1.getInt("NUMERO_BADGE"), rs1.getString("ADRESSE_MAIL"), rs1.getString("NUMERO_TELEPHONE"), rs1.getInt("ID_NATIONALITE")); System.out.println(d); System.out.println("okok"); v.addElement(rs1.getInt("NUMERO_CLIENT")+" "+rs1.getString("NOM_CLIENT") + " " + rs1.getString("PRENOM_CLIENT")+" "+rs1.getString("ADRESSE_CLIENT")+" "+rs1.getInt("NUMERO_BADGE")+" "+rs1.getString("ADRESSE_MAIL")+" "+rs1.getString("NUMERO_TELEPHONE")+" "+rs1.getInt("ID_NATIONALITE")); System.out.println("okok"); //i++; //rs1.close(); System.out.println("okokok"); } rs1.close(); return v; } } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Affichage Impossible"); return null; } }
Bien entendu je n'ai mis que les parties de code concernant le remplissage de la jtable,
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 import javax.swing.*; import java.awt.*; import java.util.*; import java.sql.*; import java.awt.event.*; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; public class CadreClient extends JFrame { JPanel jPanel1 = new JPanel(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); static Connection c; Vector v2 = new Vector(); JTextField jTextField1 = new JTextField(); JScrollPane jScrollPane1 = new JScrollPane(); JTable jTable1 = new JTable(); public CadreClient() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.getContentPane().setLayout(null); jPanel1.setBounds(new Rectangle(16, 0, 567, 391)); jPanel1.setLayout(null); jButton1.setBounds(new Rectangle(381, 93, 116, 33)); jButton1.setActionCommand("jButtonListeCompl�te"); jButton1.setText("Liste des clients"); jButton2.setBounds(new Rectangle(381, 163, 116, 33)); jButton2.setToolTipText(""); jButton2.setActionCommand("jButtonRecherche"); jButton2.setText("Recherche"); jButton2.addActionListener(new CadreClient_jButton2_actionAdapter(this)); jTextField1.setText(""); jTextField1.setBounds(new Rectangle(381, 235, 116, 33)); jScrollPane1.setBounds(new Rectangle(56, 122, 232, 236)); this.getContentPane().add(jPanel1, null); jPanel1.add(jButton1, null); jPanel1.add(jButton2, null); jPanel1.add(jTextField1, null); jPanel1.add(jScrollPane1, null); jScrollPane1.getViewport().add(jTable1, null); v2.addElement("numero"); v2.addElement("nom"); v2.addElement("pr�nom"); v2.addElement("adresse"); v2.addElement("badge"); v2.addElement("mail"); v2.addElement("t�l�phone"); v2.addElement("nationalit�"); //remplirjtable(); } void remplirjtable() throws Exception { c= Connexion.Ouverture(); System.out.println(c); System.out.println(v2); try { DefaultTableModel dtm = new DefaultTableModel(TestClient.remplirTableau(c),v2); jTable1.setModel(dtm); } catch (Exception emj) { System.out.println("erreur"); } } void jButton2_actionPerformed(ActionEvent e) { try{ remplirjtable();} catch(Exception ed){ JOptionPane.showMessageDialog(null,"laisse tomber"); } } } class CadreClient_jButton2_actionAdapter implements java.awt.event.ActionListener { CadreClient adaptee; CadreClient_jButton2_actionAdapter(CadreClient adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton2_actionPerformed(e); } }
Partager