我尝试运行此代码时出现错误

我尝试了很多次
我尝试在从daabase读取下一个值之前延迟3秒
我有错误
java.sql.SQLException:ResultSet关闭后不允许进行操作

您如何看待此错误,因为我现在不了解此错误

这是我的代码,请帮助我

try {
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;
        String dbUrl = "jdbc:mysql://*******/jointdb";
        String dbUsr = "****";
        String dbPass = "*****";
        String sql = "select * from eridb";
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(dbUrl, dbUsr, dbPass);
        st = conn.createStatement();
        rs = st.executeQuery(sql);
        while ( rs.next() ) {
        SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            try {
                String value = rs.getString("id");
                jTextArea1.setText(value);
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (SQLException ex) {
                Logger.getLogger(KK.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    });
        }
    } catch (Exception e) { }
    finally{
        try{
           if (rs != null)
             rs.close();
           if (st != null)
             st.close();
           if (conn != null)
             conn.close();
        }catch(SQLException e){}
     }

最佳答案

您在其他线程中访问ResultSet。在调用它时,原始线程已完成其try块,移至finally,并关闭了ResultSet

关于java - java.sql.SQLException:ResultSet关闭概率后不允许进行操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27279899/

10-12 04:52