【发布时间】:2018-03-20 20:17:16
【问题描述】:
每当我尝试运行此代码时,我都会得到:“java.sql.SQLException:ResultSet 关闭后不允许操作”。它可以在不关闭连接的情况下工作,但我很好奇为什么会出现此错误以及关闭连接的正确方法是什么,这是代码:
public ResultSet UpdateTable(){
Connection con = connect();
ResultSet resultset;
Statement s = null;
resultset = null;
try{
s = con.createStatement();
resultset = s.executeQuery("select * from customera");
return resultset;
}
catch(SQLException e){
System.out.println(e.getMessage());
//con.close();
}
finally{
try{
s.close();
resultset.close();
con.close();
}
catch(SQLException e){
System.out.println(e.getMessage());
}
}
return null;
}
}
【问题讨论】:
-
嗯,我要做的第一件事是打印堆栈跟踪,这样您就可以确定来自哪一行。
-
如何打印堆栈跟踪,我尝试了 System.out.println(e.printstacktrace()) 但不起作用 - 我得到“这里不允许使用 void 类型”。
-
e.printStackTrace();将自行打印,不使用println()。 -
我也试过了,但是什么也没打印,只是得到一个红色的长错误消息。