我正在尝试从jTable(JTable中的值来自MySQL)到JTextField获取一些值。
选择行后,我得到了“Null Pointer Exception”。
在我使用Line BreakPoint后,我看到行号是get。但是在rs = ppst.executeQuery();它显示我NullPointerException。
怎么了?
这是我的代码:
private void jTableStudentaiMouseClicked(java.awt.event.MouseEvent evt) {
try{
int row = jTableStudentai.getSelectedRow();
String Table_click = (jTableStudentai.getModel().getValueAt(row, 0).toString());
String sql = "select * from studentas inner join grupė on studentas.GrupėsID=grupė.GrupėsID where StudentoNr ='"+Table_click+"'";
ppst=co.prepareStatement(sql);
rs=ppst.executeQuery();
if(rs.next()){
String add0 = rs.getString("StudentoNr");
jTextField1.setText(add0);
String add1 = rs.getString("Vardas");
jTextFieldVardas.setText(add1);
String add2 = rs.getString("Pavardė");
jTextFieldPavarde.setText(add2);
String add3 = rs.getString("EPaštas");
jTextFieldPastas.setText(add3);
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}`
答案 0 :(得分:0)
好吧,如果prepareStatement(sql)无法生成预准备语句,那么它可能很容易返回null;这很容易用断点检查,也许可以查找堆栈跟踪。在发布的sql中,“student”和“as”之间没有空格,这看起来像是一个潜在的问题......