Salut Tout le monde,
Je veux récupère des images (.jpg) que j'ai mis dans une table image de ma base de données pour les afficher dans une interface swing. J'utilise des Jlabel pour mettre mes images dedans
Voila mon code :
Problème : Je crois que le blob récupère que la première image de table et du coup je peux pas afficher la totalité de images sur mon interface.
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 public class Image { public static void main(String[] args) throws ClassNotFoundException{ JFrame frame = new JFrame(); frame.setTitle("Image from DataBase"); frame.setExtendedState(JFrame.MAXIMIZED_BOTH); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Connection conn; Statement instruction; ResultSet rs; String url = "jdbc:mysql://localhost:3306/assvisual"; String userName = "root"; String password = "admin"; String sql="SELECT nom, images FROM image"; JLabel photo, description; String s; try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url, userName, password); instruction = conn.createStatement(); Blob blob; rs = instruction.executeQuery(sql); while(rs.next()){ s = rs.getString("nom"); blob = rs.getBlob("images"); ImageIcon icon = new ImageIcon(blob.getBytes(1, (int)blob.length())); photo = new JLabel(icon); description = new JLabel(); frame.add(photo, BorderLayout.NORTH); description.setText(s); frame.add(description, BorderLayout.SOUTH); } } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "erreur JDBC : " + ex.getMessage()); } frame.setVisible(true); } }
Pouvez vous m'éclairai sur la manière qui peut me faire parvenir à mon but svp?
Partager