2017-03-23 2 views
0

In Netbeans habe ich einen Desktop-Bereich und in diesem Bereich nahm ich Label.Inside das Label Ich möchte Bild anzeigen, die bereits in Datenbank (sqlite-Manager) durch Klicken gespeichert ist ein button.This ist der Code, ich habe versucht,Zeige Bild in JLabel, die in der Datenbank gespeichert ist, indem ich auf Button

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(); 
    } 
}  

Und ich erklärte auch eine globale Variable in meinem Code,

private ImageIcon format = null; 

Aber es ist das Bild nicht angezeigt, wenn ich auf die Schaltfläche klicken. Es gibt keinen Fehler oder Ausnahme.Programm wird erfolgreich ausgeführt, zeigt aber kein Bild in th e Label.Ich kann nicht herausfinden, was ich falsch gemacht habe und was zu tun, um es zu lösen.Ich bin ein Anfänger in Java.Anyone mir bitte helfen. vergessen

+0

First off, haben Sie nicht 'rs' zugewiesen. Zweitens, wenn 'rs.next()' false zurückgibt (dh die Abfrage gab keine Zeilen zurück), wird sie einfach ohne etwas zu beenden. Debuggen Sie es oder fügen Sie eine Protokollierung hinzu -> versuchen Sie log4j oder slf4j oder sogar System.out. – TedTrippin

+0

@TedTrippin Tut mir leid, ich verstehe es nicht. Kannst du mir bitte genau erklären, was ich tun muss. :( Und ich denke, ich zugewiesen rs, Connection conn = null; ResultSet rs = null; PreparedStatement pst = null; öffentliche EmployeeInfo() { initComponents(); conn = JavaConnect.ConnectDb(); } – Tabassum

+0

Es sieht so aus, als hättest du 'rs = pst.executeQuery();' aber schwer zu sagen, da du nur Teile deines Codes bereitgestellt hast. – TedTrippin

Antwort

Verwandte Themen