在JLabel中显示图像,通过单击按钮存储在数据库中

问题描述:

在Netbeans中,我使用了一个桌面窗格,并在该窗格中使用Label.Inside标签我想通过单击显示已存储在数据库(sqlite管理器)中的图像一个button.This是我试过的代码,在JLabel中显示图像,通过单击按钮存储在数据库中

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

而且我也宣布我的代码中的全局变量,

private ImageIcon format = null; 

但它没有显示画面,当我按一下按钮。它没有给出任何错误或异常。程序运行成功,但没有显示内部的图像e Label.I无法弄清楚我做错了什么以及如何解决它。我是java.Anyone的初学者,请帮助我。

+0

首先,你还没有分配'rs'。其次,如果'rs.next()'返回false(即查询没有返回任何行),那么它会在没有做任何事情的情况下很好地退出。调试它或者添加一些日志 - >尝试log4j或slf4j甚至System.out。 – TedTrippin

+0

@TedTrippin对不起,我不明白。请你准确解释我需要做什么。 :( 我想我分配RS, 连接康恩= NULL; 结果集RS = NULL; PreparedStatement的PST =无效; 公共EmployeeInfo(){ 的initComponents(); 康恩= JavaConnect.ConnectDb(); } – Tabassum

+0

它看起来像你应该有'rs = pst.executeQuery();'但很难说,因为你只提供了代码的一部分 – TedTrippin

你忘了......

rs = pst.executeQuery();