我试图将defaulttablemodel的所有值保存到我的sql数据库中,但是每当我尝试通过table.valueAt()在最后插入的行上打印该值时,它都将返回null.
I am trying to save all the values of a defaulttablemodel to my sql database but whenever I put try to print the value on the last inserted row via table.valueAt(), it returns null.
try{ System.out.print(table.getValueAt(5,0)); //<- this returns null even if the table.getRowCount() is 6 for(int i=0; i<table.getRowCount();i++){ if((Boolean)table.getValueAt(i,1)) val=1; else val=0; //System.out.print(table.getValueAt(i, 0) +","+ val); String sql1 = "INSERT INTO HREmpListofCard (EmpID, CardNbr, Status, Remarks) VALUES (" +"'"+empID +"','"+table.getValueAt(i, 0).toString() +"','"+val +"','"+table.getValueAt(i,2).toString()+"')"; try { DBConnect.getConnection().createStatement().executeUpdate(sql1); } catch (ClassNotFoundException ex) { Logger.getLogger(ListOfCardID.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(ListOfCardID.class.getName()).log(Level.SEVERE, null, ex); } } }catch(Exception e){ System.out.print("\nerror!"); }推荐答案
关于第二个问题. 您可以先在表中检查变量,然后再将其放入查询中.例如,您可以执行以下操作:
As for your second question. You can check your variable in your table before you put it inside your query. For example you can do this:
String item1; if(table.getValueAt(i, 0) != null) item1 = table.getValueAt(i, 0); else item1 = null;用"table.getValueAt(i,0)"替换item1并为"table.getValueAt(i,2)"创建一个item2
Replace item1 with you "table.getValueAt(i, 0)" and create an item2 for your "table.getValueAt(i,2)"
String sql1 = "INSERT INTO HREmpListofCard (EmpID, CardNbr, Status, Remarks) VALUES (" +"'"+empID +"','"+ITEM1 +"','"+val +"','"+ITEM2+"')";我还没有测试过,所以不确定它是否可以工作:)
I haven't tested this, so I'm not sure if it will work :)
祝你好运!
更多推荐
getValueAt()方法返回null
发布评论