Изображение Blob-объекта извлекается из базы данных, но не отображается в java jlabel?
Я перепробовал почти все... Пожалуйста, помогите кому-нибудь. Вывод отображается следующим образом: 123456789javax.swing.ImageIcon@2f672341BUILD успешно (общее время: 21 секунда)
Но изображение не отображается.
Что я уже пробовал:
public class viewimage extends javax.swing.JFrame { private javax.swing.JLabel img123; private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel2; private javax.swing.JTextField jTextField1; String path; int i; private String image; public viewimage() { initComponents(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try { System.out.print(1); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample1", "root", ""); System.out.print(2); Statement st = con.createStatement(); System.out.print(3); ResultSet rs = st.executeQuery("select * from images where name = '" + jTextField1.getText() + "'"); if (rs.next()) { System.out.print(4); path = rs.getString("image"); System.out.print(5); rs.absolute(i+1); ImageIcon image = new ImageIcon(rs.getBytes("image")); System.out.print(6); Image im = image.getImage(); System.out.print(7); Image myImg = im.getScaledInstance(img123.getWidth(), img123.getHeight(),Image.SCALE_SMOOTH); System.out.print(8); System.out.print(9); img123.setIcon(image); System.out.print(image); getContentPane().add(img123); } else{ JOptionPane.showMessageDialog(null, "No Data"); } } catch (Exception e) { e.printStackTrace(); } } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { jTextField1.setText(""); img123.setIcon(null); }
Richard MacCutchan
Где находится код для установки метки?
Member 13018955
Я извиняюсь, чтобы сказать, что не правильный код. Я разместил правильный код выше. Предыдущий код был вариацией, чтобы посмотреть, работает ли он. Это не. Я разместил правильный код выше.
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]