0

这是我的示例代码

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

4

1 回答 1

1

你可以扭转你的验证,做

if ("".equals(invoiceno)) {
  invoiceno = null;
}

相反,它不会抛出NullPointerExceptionif invoicenois null

于 2013-10-02T17:55:56.143 回答