所以,我在執行下面的過程時在標題中看到錯誤,我真的不知道什麼是錯的。線程「main」中的異常java.sql.SQLException:ResultSet關閉後不允許操作
我在做什麼是試圖從數據庫帶來一些數據來創建一個對象,並填寫和ArrayList幾個它的對象,如果沒有找到應該拋出的例外?
public ArrayList<Caso> buscarCasosPorJuez(String cedula) throws java.sql.SQLException,Exception{
java.sql.ResultSet rs;
String sql;
Caso caso;
ArrayList<Caso> casos = new ArrayList();
sql="SELECT * "+
"FROM tcaso "+
"WHERE CedulaJ='"+cedula+"';";
Conector.getConector().ejecutarSQL(sql);
rs = Conector.getConector().ejecutarSQL(sql,true);
while (rs.next()){
caso = new Caso(
rs.getInt("NumCaso"),
rs.getString("DescripcionCaso"),
rs.getString("EstadoCaso"),
rs.getDate("FechaCreacion").toLocalDate(),
persona.buscarJuezPorCedula(rs.getString("CedulaJ")),
persona.buscarQuerellante(rs.getString("CedulaQ"))
);
casos.add(caso);
}
rs.close();
return casos;
}
下面是兩個方法「新Caso」呼籲在最後二條線。
public Juez buscarJuezPorCedula(String cedula) throws java.sql.SQLException,Exception{
Juez juez = null;
java.sql.ResultSet rs;
String sql;
sql = "SELECT Sala,Usuario,Clave,NombreJ,ApellidosJ,TelefonoJ,CedulaJ "+
"FROM tjuez "+
"WHERE CedulaJ='"+cedula+"';";
rs = Conector.getConector().ejecutarSQL(sql,false);
if (rs.next()){
juez = new Juez(
rs.getInt("Sala"),
rs.getString("Usuario"),
rs.getString("Clave"),
rs.getString("NombreJ"),
rs.getString("ApellidosJ"),
rs.getString("TelefonoJ"),
rs.getString("CedulaJ"));
} else {
throw new Exception ("Persona no encontrada intentelo de nuevo.");
}
rs.close();
return juez;
}
public Querellante buscarQuerellante(String cedula) throws java.sql.SQLException,Exception{
Querellante querellante = null;
java.sql.ResultSet rs;
String sql;
sql = "SELECT DireccionQ,NombreQ,ApellidosQ,TelefonoQ,CedulaQ "+
"FROM tquerellante "+
"WHERE CedulaQ='"+cedula+"';";
rs = Conector.getConector().ejecutarSQL(sql,true);
if (rs.next()){
querellante = new Querellante(
rs.getString("DireccionQ"),
rs.getString("NombreQ"),
rs.getString("ApellidosQ"),
rs.getString("TelefonoQ"),
rs.getString("CedulaQ"));
} else {
throw new Exception ("Persona no encontrada intentelo de nuevo.");
}
rs.close();
return querellante;
}
感謝您提供的所有幫助。
Exception應該告訴你導致問題的語句,所以你應該知道要調試的代碼塊。 – camickr
此代碼會導致資源泄漏,但我不明白它會如何導致給定的異常,也許它是在ejutarsql方法中的東西?顯示更多代碼和堆棧跟蹤。 –
告訴我們發生異常的地方,並告訴我們調用方法的代碼。 – eckes