Comando para MySql executar a Query: {call spPegaOrdem (01/01/2010)}
{call spPegaOrdem (01/01/2010)}
Status da conexão : ABERTA
Erro: Operation not allowed after ResultSet closed
java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:644)
at com.mysql.jdbc.ResultSet.getMetaData(ResultSet.java:2839)
at br.com.matrix.mxroteamento.visual.FImpressao.cmdPesquisarActionPerformed(FImpressao.java:147)
at br.com.matrix.mxroteamento.visual.FImpressao.access$100(FImpressao.java:21)
at br.com.matrix.mxroteamento.visual.FImpressao$2.actionPerformed(FImpressao.java:62)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
Erro: Operation not allowed after ResultSet closed
java.sql.SQLException: Operation not allowed after ResultSet closed
Leia a mensagem de erro. Vc esta tentando usar um ResultSet que ja foi fechado.
Revise seu codigo, dentro do metodo mExecutaSPImpressao vc fecha o Resulset.
Para chamar a procedure no oracle é assim:
Deve funcionar pra vc também;
CallableStatement cs;
//Prepara a chama e mostra quantos parâmetros tem
cs = getConnection().prepareCall("{call "+ NOME_PROCEDURE + "(?,?,?)}");
//Seta os parametros
//1 posicao do parâmetro na chamada a procedure e param_1 valor do parâmetros
cs.setInt(1 , param_1);
cs.setInt(2, param_2);
cs.setInt(3, param_3);
cs.execute();
eu não fechoo ResulSet…[/quote]
tem certreza? :twisted:
olhei o seu codigo, e como falei antes, dentro do metodo mExecutaPesquisa o ResultSet esta sendo fechado.
Vou dar uma pista, ele não esta sendo fechado explicitamente, então talvez por isso vc não tenha notado.
Mas pode acreditar, vc esta fechando ele.