加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – ResultSet关闭后不允许操作

发布时间:2020-12-15 00:09:39 所属栏目:Java 来源:网络整理
导读:好吧,在过去的两天里,他一直试图解决这个问题. Statement statement = con.createStatement(); String query = "SELECT * FROM sell"; ResultSet rs = query(query); while (rs.next()){//--- I get there operation error here 这是查询方法. public static
好吧,在过去的两天里,他一直试图解决这个问题.
Statement statement = con.createStatement();
                        String query = "SELECT * FROM sell";
                        ResultSet rs = query(query);
                        while (rs.next()){//<--- I get there operation error here

这是查询方法.

public static ResultSet query(String s) throws SQLException {
        try {
            if (s.toLowerCase().startsWith("select")) {
                if(stm == null) {
                    createConnection();
                }
                ResultSet rs = stm.executeQuery(s);
                return rs;
            } else {
                if(stm == null) {
                    createConnection();
                }
                stm.executeUpdate(s);
            }
            return null;
        } catch (Exception e) {
            e.printStackTrace();
            con = null;
            stm = null;
        }
        return null;
    }

我该如何解决这个错误?

解决方法

很难从你发布的代码中确定,但我怀疑ResultSet在while循环体内无意中被关闭(或stm被重用).这将在下一次迭代开始时触发异常.

此外,您需要确保应用程序中没有其他线程可能使用相同的DB连接或stm对象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读