×

关闭的resultset

关闭的resultset(Connection和Statement关闭了ResultSet是不是也没了)

admin admin 发表于2024-04-18 14:56:26 浏览18 评论0

抢沙发发表评论

“关闭的resultset”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看关闭的resultset(Connection和Statement关闭了ResultSet是不是也没了)!

本文目录

Connection和Statement关闭了ResultSet是不是也没了

是的,connection关闭,会使用stament也关闭,然后resultset也随之关闭。

java数据库操作,老是提示ResultSet已关闭

在默认情况下,同一时间每个Statement对象在只能打开一个ResultSet对象。因此,如果读取一个ResultSet对象与读取另一个交叉,则这两个对象必须是由不同的Statement对象生成的。如果存在某个语句的打开的当前ResultSet对象,则Statement接口中的所有执行方法都会隐式关闭它。你的delRecord方法里,rs开始由executeQuery得到,然后在while循环内,又执行了executeUpdate,所以rs被关闭,在执行rs.isAfterLast()时出现异常。。rs=sql.executeQuery("select*frommessage");while(rs.next()){if(this.number.equals(rs.getString(1).trim())){sql.executeUpdate("deletefrommessagewherenumber=’"+this.number+"’");break;}}

帮忙改错,提示ResultSet已关闭

public class wlw { private static Connection con = null; private static ResultSet rs = null; private String drive = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String url = "jdbc晕qlserver://localhost:1433;databaseName=xinxing;user=wjx;password=;"; public wlw () { try { Class.forName(drive); System.out.println("drive is ok!"); con = DriverManager.getConnection(url); System.out.println("connection is ok!"); } catch (Exception e1) { System.out.println(e1); } } public Statement getStatement() { try { return con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); } catch (SQLException e) { e.printStackTrace(); } return null; } public ResultSet excuteQuery(String sql) { try { rs = getStatement().executeQuery(sql); } catch (Exception e) { System.out.println("error2"); System.out.println(e); } return rs; } public int excuteUpdate(String sql) { int result = 1; try { result = getStatement().executeUpdate(sql); } catch (Exception e2) { System.out.println(e2); System.out.println("error1"); result = 0; } return result; } }

resultset 需要关闭吗

第三方的数据库连接池,使用的时候,获取到Connection之后,使用完成,调用的关闭方法(close()) ,并没有将Connection关闭,只是放回到连接池中,如果调用的这个方法,而没有手动关闭PreparedStatement等,则这个PreparedStatement并没有关闭.

我的java分页查询出现这样的异常,请问怎么解决java.sql.SQLException: 关闭的 Resultset: next

你应该是在这个方法executesQl中已经关闭了resultset了,你看看。你为什么这么写呢?就正常些,con,preparestatement,resultset就行了。

jdbc数据库连接在方法中,而且要返回statement 或resultset 在方法里关闭连接会怎么样要怎么处理

如果要返回statement 或者resultset 就不能关闭连接,关了的话作为返回值被传出去的statement 或者resultset 被访问到的时候就会抛出异常。连接不关不会被有异常,但程序被多次执行后就有连接被占满,不能取得连接的问题出现。一般需要用到rs的数据,应在取得rs后,把里边的数据从新包装后返回,比如返回集合类或者bean类。在包装完成后关闭rs,state,conn。这样没问题

当定义一个类的返回类型ResultSet后,还能关闭掉ResultSet吗

return语句用try-finally包围起来

try{    return st.executeQuery();}finally{    st.close();}

不过真心不推荐这样写。没有直接return一个ResultSet的。

程序设计有问题。

(一定赚了分才采纳) java.sql.SQLException: 关闭的 Resultset: next

while (rs.next()) {.................... }这个不需要这么写,直接写Students st = new Students();st.setName(rs.getString(1));list.add(st); 因为是每行结果所以你再rs.next()就报错了,已经被关闭了,你看,mapRow的意思就是每行

关闭resultSet,Connection会自动关闭吗

正好相反,是Connection关闭后,resultSet会自动关闭,退一步讲,你应该知道一个Connection可以产生多个resultSet,那你关了一个resultSet,其它的肯定也不会关掉的!

如果你还想了解更多这方面的信息,记得收藏关注本站。