如何从SQlite数据库中检索要在if-else语句中使用的null Byte值



我有一个程序,可以将图像文件转换为字节,保存到数据库中,然后再检索它们。这个程序实际上是用来生成ID的。用户可以保存图像,也可以不保存。当用户选择不保存图像时,程序应该给他们的图像一个空值。问题是,当没有图像时,它总是给我一个空指针异常。有没有其他方法可以在if语句中使用空字节?

private void Members_TableMouseClicked(java.awt.event.MouseEvent evt){                                           
    int row =Members_Table.getSelectedRow();
    String Table_click=(Members_Table.getModel().getValueAt(row, 0).toString());

    try{
     String sql ="select * from Members where No='"+Table_click+"' ";
     ps=conn.prepareStatement(sql);
      rs=ps.executeQuery();
      if(rs.next()){
      String add1 =rs.getString("FName");
      ID_Front_FN.setText(add1);
      String add2 =rs.getString("LName");
      ID_Front_LN.setText(add2);
      String add3 =rs.getString("StdNum");
      ID_Front_SNo.setText(add3);
      String add4 =rs.getString("Course");
      ID_Front_Crs.setText(add4);
      byte[] BC_imagedata = rs.getBytes("BCImg");
      BC_format = new ImageIcon(BC_imagedata);
      ID_Front_BC.setIcon(BC_format);
      byte[] ID_imagedata = rs.getBytes("IDImg");
      if(ID_imagedata.equals(null)){ID_format=null;}else{
      ID_format = new ImageIcon(ID_imagedata);}
      ID_Front_Pic.setIcon(ID_format);

      }
    }catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
    }

}
byte[] BC_imagedata = rs.getBytes("BCImg");
  BC_format = new ImageIcon(BC_imagedata);
  ID_Front_BC.setIcon(BC_format);
  byte[] ID_imagedata = rs.getBytes("IDImg");
  if(ID_imagedata == null){ID_format=null;}else{
  ID_format = new ImageIcon(ID_imagedata);}
  ID_Front_Pic.setIcon(ID_format);

应该是if(ID_imagedata==null),而不是if(ID_imagedata.equals(null)),它将始终通过null指针异常。它期望一个对象作为它的输入,但您传递的却是null。

相关内容

  • 没有找到相关文章

最新更新