Boa tarde…Bem, preciso obter o numero de linhas do resultado da execução de uma Store Procedure,o código de como faço atualmente está abaixo.
Eu obtenho o nº de linhas atraves de uma varialvel…quem calcula é a propria Procedure.
conexao.conectaPg(usuario);
cs = conexao.getConnection(usuario).prepareCall(query,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
cs.setString(1, _contrato.getX());
cs.setString(2, _contrato.getXX());
cs.setFloat(3, Float.parseFloat(_contrato.getXXX()));
cs.registerOutParameter(4, OracleTypes.CURSOR);
cs.registerOutParameter(5, OracleTypes.NUMERIC);
cs.execute();
rs = (ResultSet) cs.getObject(4);
numlinhas=(int)cs.getFloat(5);
X= new String[numlinhas + 1];
XX= new String[numlinhas + 1];
XXX= new String[numlinhas + 1];
int contador=0;
while (rs.next())
{
X[contador] = rs.getString("con_dccontrato");
X[contador] = rs.getString("pro_dcprocesso");
X[contador] = rs.getString("diasvencer");
contador++;
}
Quando utilizo o trecho abaixo, o erro “java.sql.SQLException: Operação inválida para encaminhar apenas conjunto de resultados: first” é disparado
while(rs.next())
{
numlinhas+= 1;
}
rs.first();
Eu li o artigo aki no GUj sobre “Scrollable e Updateable ResultSet”, mas não encontrei nada de como executar isso atraves do “CallableStatement”. No meu caso, creio que nao utilazerei o “cs.execute();”…ALGUEM AKI JAH TEVE ALGUMA EXPERIENCIA COM ISSO??