while循环提示Operation not allowed after ResultSet closed。

发布网友 发布时间:2022-04-23 21:26

我来回答

3个回答

热心网友 时间:2023-10-10 02:55

这个和你这段代码应该没关系,是不是你在DB类中的execueQuery方法写了
finally{
rs.close();

}

热心网友 时间:2023-10-10 02:56

从这段代码看不出问题,问题可能出在你的
DB.execueQuery
是不是把以前的ResultSet关闭了追问public ResultSet execueQuery(String sql){
try {
rs=stmt.executeQuery(sql);

} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
没有啊。。。

追答你这里为什么是
rs = xxx?
用的全局变量,当然会被关闭了,应该修改为:
ResultSet rsTmp = stmt.executeQuery(sql);
return rsTmp;

热心网友 时间:2023-10-10 02:56

把DB类代码贴出来看看(主要是Connection和Statement的实例相关)追问public class DBmanager {
public Connection con=null;
public Statement stmt=null;
public ResultSet rs=null;
protected String sql="";
public DBmanager(){
try {
databasemysql dcm=new databasemysql();
con=dcm.getConnection();
stmt=con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}

追答1.由于你是在DBmanager构造器中创建Connection等实例,那么在jsp页面中是否实例化DMmanager(DMmanager db=new DMmanager()) tangram_guid_1361935336627??

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com