Esse é a assinatura da procedure:
Drop procedure if exists afmpb1.SP_lancamento;
Create PROCEDURE afmpb1.SP_lancamento(IN eValor Float,
IN eCodFun INT, /*Funcionario que possui o cartão*/
IN eCodConv INT, /*Empresa que gerou a venda*/
IN eComprador VARCHAR(60), /*Quem realizou a compra*/
IN eUsuLanc VARCHAR(60), /*Quem efetuou o lançamento*/
OUT erro VARCHAR(30),
OUT saldoAtu FLOAT,
OUT recibo INT)
esse é o codigo java que está chamando a procedure, porem não consigo pegar o retorno da procedure
fiz testes no editor sql ela funciona direitinho
Meu problema é que não consigo pegar esse retorno no java.
Alguem sabe o problema
ai vai meu codigo:
cst = con.prepareCall("{call SP_lancamento(?,?,?,?,?,?,?,?)}");
cst.setFloat(1, Float.valueOf(request.getParameter("vacolanc")));
cst.setInt(2, Integer.parseInt(codifunc));
cst.setInt(3, Integer.parseInt(codiconv));
cst.setString(4, request.getParameter("complanc"));
cst.setString(5, usualanc);
cst.registerOutParameter(6, Types.VARCHAR);
cst.registerOutParameter(7, Types.FLOAT);
cst.registerOutParameter(8, Types.INTEGER);
rsCs = cst.executeQuery();
while (rsCs.next()) {
String erro = rsCs.getString("erro");
int recibo = rsCs.getInt("recibo");
Float saldoAtu = rsCs.getFloat("saldoAtu");
}
gera a seguinte exceção quando está na linha do while.
java.sql.SQLException: ResultSet is from UPDATE. No Data.