【发布时间】:2016-03-16 02:01:04
【问题描述】:
我在这里尝试做的是,当我在表中选择一行时,加载数据后,它应该在文本字段 (selectedRowTF) 中显示所选行的值。但是只要我点击 jButton 就会生成以下错误 -
java.lang.ArrayIndexOutOfBoundsException: -1
由于甚至在加载数据之前就发生错误,因此我什至没有机会选择一行。
您还认为我使用正确的代码来获取行的值吗?
DefaultTableModel model;
model=(DefaultTableModel)tbl.getModel();
try {
Class.forName("java.sql.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/divign","root","password");
Statement stmt=con.createStatement();
int row=tbl.getSelectedRow();
String rowSelected=(tbl.getModel().getValueAt(row, 0).toString());
String query="SELECT * FROM CUSTOMER WHERE CUSTOMER_ID = '"+customerIdTF.getText()+"' ;";
ResultSet rs=stmt.executeQuery(query);
if(rs.next()) {
model.addRow (new Object[ ] {
rs.getInt(1),rs.getString(2),rs.getString(3)
});
selectedRowTF.setText(""+rowSelected);
}
rs.close();
stmt.close();
con.close();
}
catch(Exception e){
JOptionPane.showMessageDialog(null,e.toString());
}
【问题讨论】:
-
你应该在你的问题中提供堆栈跟踪,而不是链接到谷歌文档。我无法从此处访问 google 文档,以后可能无法使用它来帮助其他人找到答案。