Java.sql.SQLException: Operation not allowed after ResultSet closed

Boa tarde,

estou tendo um problema. Estou inserindo um funcionario e um endereço em duas tabelas. Estou conseguindo realizar a inserção, porém apareceo seguinte erro:

500 Servlet Exception

java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:618)
at com.mysql.jdbc.ResultSet.next(ResultSet.java:6043)
at _jsp._sysartfinal._cpainel._funcionario._insertfunc__jsp._jspService(sysArtFinal/cpainel/funcionario/insertFunc.jsp:19)
at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
at com.caucho.jsp.Page.pageservice(Page.java:578)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:192)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
at java.lang.Thread.run(Thread.java:619)

o eu código é:

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*"%>
<%@include file="../conexao.jsp"%>

<% 
//Nada será gravado no cache do cliente
    response.setDateHeader("Expires", 0); 
    response.setHeader("Pragma", "no-cache"); 
    if (request.getProtocol().equals( "HTTP/1.1" )) { 
    response.setHeader("Cache-Control","no-cache"); 
    } 
%>
<% 
stm.executeUpdate("insert into funcionario(cpf, rg, nome, dt_nascimento, dt_admissao, email) values('" + request.getParameter("txtCpf") + "','" + request.getParameter("txtRg") + "','" + request.getParameter("txtNome") + "','" + request.getParameter("txtDtNasc") + "','" + request.getParameter("txtDtAdmissao") + "','" + request.getParameter("txtEmail") + "');");
%>
<%
ResultSet rs = stm.executeQuery("SELECT max(idFunc) as iD FROM funcionario;");
%>
<%
while (rs.next()){
%>
<%
String cod;
cod = rs.getString("iD");
stm.executeUpdate("insert into endereco(funcionario_idFunc, rua, numero, bairro, cidade, estado, cep, complemento, tel) values('" + cod + "','" + request.getParameter("txtEnd") + "','" + request.getParameter("txtEndNum") + "','" + request.getParameter("txtEndBairro") + "','" + request.getParameter("txtEndCidade") + "','" + request.getParameter("txtEndEstado") + "','" + request.getParameter("txtCep") + "','" + request.getParameter("txtEndComp") + "','" + request.getParameter("txtTel") + "');");
%>
<%
}
%>

Vocês poderiam me ajudar?

Obrigado, Rodrigo.

Oi Rodrigo,

Acho que o problema é o fato de usar o mesmo smt para o select (linha 16) e depois para o insert (linha 24).
Tente usar um stm diferente, pelo menos para o insert dentro do laço.

[quote=gleise]Oi Rodrigo,

Acho que o problema é o fato de usar o mesmo smt para o select (linha 16) e depois para o insert (linha 24).
Tente usar um stm diferente, pelo menos para o insert dentro do laço.[/quote]

Cara valeu mesmo. Muito obrigado. Deu certo.

Obrigado