Java 如何从SQlite数据库中检索空字节值,以便在if else语句中使用?
我有一个程序,将图像文件转换成字节,保存到我的数据库中,然后在以后检索它们。该程序实际上用于生成ID。用户可以保存图像,也可以不保存。当用户选择不保存图像时,程序应为其图像提供空值。问题是,当没有图像时,它总是给我一个空指针异常。在if语句中使用空字节还有其他方法吗Java 如何从SQlite数据库中检索空字节值,以便在if else语句中使用?,java,sqlite,netbeans,null,byte,Java,Sqlite,Netbeans,Null,Byte,我有一个程序,将图像文件转换成字节,保存到我的数据库中,然后在以后检索它们。该程序实际上用于生成ID。用户可以保存图像,也可以不保存。当用户选择不保存图像时,程序应为其图像提供空值。问题是,当没有图像时,它总是给我一个空指针异常。在if语句中使用空字节还有其他方法吗 private void Members_TableMouseClicked(java.awt.event.MouseEvent evt){
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);
}
}
应为ifID_imagedata==null而不是ifID_imagedata.equalsnull,它将始终通过null指针异常。它需要一个对象作为其输入,但您传递的是null
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);