这是我的示例代码
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
int colum=jTable1.getSelectedColumn();
int row=jTable1.getSelectedRow();
System.out.println("row of selected is "+row+"col is "+colum);
String remark1 = (String) jTable1.getValueAt(row, 8);
String remark2 = (String) jTable1.getValueAt(row, 9);
String stock = (String) jTable1.getValueAt(row, 10);
String invoiceno =(String) jTable1.getValueAt(row, 11);
String id=(String) jTable1.getValueAt(row, 12);
System.out.println("remark1: "+remark1+" ,remark2: "+remark2+",stock:"+stock+", invoiceno:"+invoiceno+ " ,id: "+id);
当我在编辑模式下打开jTable1
并在没有输入文本的情况下出来并执行动作生成如下输出
remark1: ,remark2: ,stock: , invoiceno: ,id: 7e3c63ffc9bc42dba8155270741d7c9a
当我将该行发送到该字段的数据库时,它会在那些字段中取"
..这就是我的问题。当我进入编辑模式而没有编辑文本/添加文本时,如何不将"
发送到数据库中
我尝试添加此
line 426: if(invoiceno.equals("")){
invoiceno=null;
}
如果我进入invoiceno
jTable1
的编辑模式并出来,它的传递参数invoiceno=null
并且正常工作。
但是如果我不进入那一行(editmode)然后发送到数据库然后在java.lang.NullPointerException
显示空line:426
答案 0 :(得分:1)
您可以撤消验证,
if ("".equals(invoiceno)) {
invoiceno = null;
}
相反,如果NullPointerException
为invoiceno
,则不会抛出null
。