我尝试运行此代码时出现错误
我尝试了很多次
我尝试在从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/