salem
j'ai un grand probleme et je ne sais pas comment faire aidez moi SVP
bon j'ai une BDD sous sql server et je dois récupérer les données d'une requete sql dans une interface graphique java ,pour la connexion c'est bon elle marche trés bien et je peux afficher les données dans le console maintenant je dois les représenter dans un JTable mais j'ai pas bien compris comments faire
voici le code de la fenetre qui contien le JTable:
et maintenant le code du modele et je pense que ici j'ai fais n'import quoi!!!!!!!
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 public class jtable_cout extends JFrame { //connexion Connection con=null; Calendar cal=Calendar.getInstance(); int i,j;String Stack[]; private JButton bouton_c_m; private JTable jTable1; public jtable_cout() throws ClassNotFoundException{super(); build(); } private void build() throws ClassNotFoundException{ setTitle("A"); //On donne un titre à l'application setSize(850,600); //On donne une taille à notre fenêtre setResizable(true); //On interdit la redimensionnement de la fenêtre setDefaultCloseOperation(EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix setContentPane(buildContentPane()); getContentPane().setBackground(Color.white); } private JPanel buildContentPane() throws ClassNotFoundException{ JPanel panel=new JPanel(); //jtable // DefaultTableModel model = new DefaultTableModel(); MonModele mm = new MonModele(MonModele.donnees,MonModele.colName); jTable1 = new JTable(mm); jTable1.setPreferredSize(new Dimension(900,300)); JScrollPane panel1 = new JScrollPane(jTable1); panel.add(jTable1); panel.add(panel1); return panel;} public static void main(String arg[]) throws ClassNotFoundException {jtable_cout fenetre=new jtable_cout(); fenetre.setVisible(true);//On la rend visible } }
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
107
108
109
110
111
112
113
114
115
116
117
118 public class MonModele extends AbstractTableModel { public JTable jTable1 ; Connection con=null; Calendar cal=Calendar.getInstance(); int i=-1,j,a=6,b=10; static Object donnees[][]; static String titres[]={"numero de voiture", "désignation d'opération","date d'entrée","date de sortie","cout_maintenance","retard_maintenance"}; public MonModele(Object donnees[][], String titres[]) { this.donnees = donnees; this.titres = titres; } public Object getValueAt(int parm1, int parm2) { //connexion try { //1er:appel driver try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }//charger le pilote //2eme:connexion con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;"+"DatabaseName=datawarehouse_nadia;user=sa"); //requet Statement instruction = con.createStatement(); ResultSet resultat = instruction.executeQuery("execute maintenance_voiture"); //traitement de résultat ResultSetMetaData rsmd = resultat.getMetaData(); colCount = rsmd.getColumnCount(); parm1=colCount; resultat.last(); rowCount = resultat.getRow(); parm2=rowCount; resultat.beforeFirst(); } while (resultat.next()) {i=i+1; cal.setTime(resultat.getDate("date_sortie")); if(cal.get(Calendar.YEAR)==1988) { if (cal.get(Calendar.MONTH)+1==3) { System.out.println("ok"); if(resultat.getString("numero_voiture")==null){donnees[i][0]="non spécifier";} else{donnees[i][0]=resultat.getString("numero_voiture");} if(resultat.getString("désignation_opération")==null){donnees[i][1]="non spécifier";} else{donnees[i][1]=resultat.getString("designation_opération");} if(resultat.getString("date_entrée")==null){donnees[i][2]="non spécifier";} else{donnees[i][2]=resultat.getString("date_entrée");} if(resultat.getString("date_sortie")==null){donnees[i][3]="non spécifier";} else{donnees[i][3]=resultat.getString("date_sortie");} if(resultat.getString("cout_maintenance")==null){donnees[i][4]="non calculer";} else{donnees[i][4]=resultat.getString("cout_maintenance");} if(resultat.getString("retard_maintenance")==null){donnees[i][5]="pas de retard";} else{donnees[i][5]=resultat.getString("retard_maintenance");} System.out.println(donnees[1][1]); } } } //dernier etape:fermeture con.close(); } catch(SQLException ex){ JOptionPane.showMessageDialog(null, "Ca marche pas"); ex.printStackTrace(); } //fin connexion return donnees[parm1][parm2]; } public int getColumnCount() { return colCount; } public int getRowCount() { //return donnees.length; return rowCount; } public String getColumnName(int col){ return titres[col]; }}
au début il m'a donné des exceptions c'été pour la valeur null c'est pour ca j'ai testé les valeurs mais maintenant il ne me rien ni données ni exceptions
merci bien de m'aider
salem
Nadia.
Partager