2017-03-23 2 views
0

Dans NetBeans j'ai pris un panneau de bureau et dans ce volet j'ai pris Label.Inside l'étiquette je veux montrer l'image qui est déjà stockée dans la base de données (gestionnaire sqlite) en cliquant un button.This est le code que je l'ai essayé,Afficher l'image dans JLabel qui est stockée dans la base de données en cliquant sur le bouton

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {           
    try 
    { 
     String sql = "Select Image from EmployeeInfo where EmployeeId=1"; 
     pst=conn.prepareStatement(sql); 
     pst.executeQuery(); 

     if(rs.next()) 
     { 
      byte[] imagedata = rs.getBytes("Image"); 
      format = new ImageIcon(imagedata); 
      lbl_image.setIcon(format); 

     } 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
}  

Et j'ai aussi déclaré une variable globale dans mon code,

private ImageIcon format = null; 

Mais il ne montre pas l'image lorsque je clique sur le bouton. Il ne donne aucune erreur ou exception. Le programme s'exécute avec succès mais ne montre pas l'image à l'intérieur du e Label.Je ne peux pas comprendre ce que j'ai fait de mal et que faire pour le résoudre.Je suis un débutant en java.Anyone m'aider s'il vous plaît.

+0

Tout d'abord, vous n'avez pas affecté 'rs'. Deuxièmement, si 'rs.next()' renvoie false (c'est-à-dire que la requête n'a renvoyé aucune ligne), alors elle quittera simplement sans rien faire. Déboguez-le ou ajoutez un peu de journalisation -> essayez log4j ou slf4j ou même System.out. – TedTrippin

+0

@TedTrippin Désolé, je ne comprends pas. Pourriez-vous expliquer exactement ce que je dois faire. :( Et je pense que je rs affecté, Connection conn = null; ResultSet rs = null; PreparedStatement pst = null; publique EmployeeInfo() { initComponents(); conn = JavaConnect.ConnectDb(); } – Tabassum

+0

On dirait que vous devriez avoir 'rs = pst.executeQuery();' mais difficile à dire puisque vous avez seulement fourni des parties de votre code – TedTrippin

Répondre

0

Vous avez oublié ...

rs = pst.executeQuery();