如何从SQlite数据库中检索null字节值以在if else语句中使用?

时间:2014-09-15 15:26:39

标签: java sqlite netbeans 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);
    }


}

1 个答案:

答案 0 :(得分:0)

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 if(ID_imagedata == null)不是if(ID_imagedata.equals(null))总是会通过空指针异常。它期望一个对象作为它的输入,而是传递null。