Java 从jtable更新sql中的数据
我最后的问题已经解决了,谢谢你的建议。 其中,我遇到的另一个问题是: java.lang.ArrayIndexOutOfBoundsException:-1 更新中的我的代码是当从jtable中单击时,它将显示在文本字段中,我的代码:Java 从jtable更新sql中的数据,java,sql,syntax,sql-update,Java,Sql,Syntax,Sql Update,我最后的问题已经解决了,谢谢你的建议。 其中,我遇到的另一个问题是: java.lang.ArrayIndexOutOfBoundsException:-1 更新中的我的代码是当从jtable中单击时,它将显示在文本字段中,我的代码: > try{ > DefaultTableModel model= (DefaultTableModel)tbl_stud.getModel(); > model.fireTableData
> try{
> DefaultTableModel model= (DefaultTableModel)tbl_stud.getModel();
> model.fireTableDataChanged();
> int row=tbl_stud.getSelectedRow();
> String tbl_click=(tbl_stud.getModel().getValueAt(row, row).toString());
> String sql="Select * from students where id_num='"+tbl_click+"';";
> pst=conn.prepareStatement(sql);
> rs=pst.executeQuery(sql);
> if(rs.next()){
> String add1=rs.getString("id_num");
> up_idnum.setText(add1);
> String add2=rs.getString("fname");
> up_fname.setText(add2);
> String add3=rs.getString("mname");
> up_mname.setText(add3);
> String add4=rs.getString("lname");
> up_lname.setText(add4);
>
> String add8=rs.getString("username");
> up_username.setText(add8);
> String add9=rs.getString("password");
> up_pass.setText(add9);
> update_table();
> }
>
>
> }
> catch(Exception o){
> JOptionPane.showMessageDialog(null, o);
>
> }
> }
但我总是会犯这样的错误,我怎样才能避免呢?多谢各位
String tbl_click=(tbl_stud.getModel().getValueAt(row, row).toString());
在该模型中,您需要获取id num的选定行和列索引的值
String tbl_click=(tbl_stud.getModel().getValueAt(row, columnNo).toString());
我猜错误发生在代码的第5行,因为表没有选择行,所以getSelectedRow方法返回-1。您必须测试-1值,并且只有在行>-1时才能继续处理。另外,它看起来像.getValueAtrow,行应该是.getValueAtrow,列。