Boa dia galera, Essa procedure tinha que retornar string com varias linhas. Mais soh estou conseguindo mostrar a primeira linha, o que estou fazendo de errado.?
conn = DriverManager.getConnection("jdbc:firebirdsql:192.100.0.000:/coper/dados/dbcoper.gdb","teste","teste");
//Cria um statement para podermos mandar um SQL para o banco
stmt = conn.createStatement();
CallableStatement cs = conn.prepareCall("{call GERA_CABECALHO_PEDIDOS_PALM(?,?)}");
cs.setInt(1, 391553);
cs.setInt(2, 2260);
cs.registerOutParameter(1, Types.VARCHAR);
cs.execute();
rs = cs.getResultSet();
while (rs.next()){
System.out.println(rs.getString("cabecalho_pedido"));
} conn.close();
Coloque aqui o SQL da SP que esta usando (tenho um pouco de experiência no FB, mas desisti de usar SP há muito tempo).
G
gustavohs
A procedure esta funcionado, no IBexpert ela funciona.
O resutado dela eh o seguinte.
nome da coluna= cabecalho_pedido
valores:
644949494949498024141387418734
084018013408919841481482134813
018734013401341341834132841237
4198341-34124981230413498-08134
onde cada linha eh um registro.
e ela esta pegando somente a primeira.
G
gustavohs
Seque em aeee a procedure:
begin
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////// NAO ESQUECER DE MUDAR O NUMERO INICIAL DO PEDIDO//////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/PARA OS PEDIDOS DA MATRIZ - UBERABA/
pedidoant = 0;
Emanuel, obrigado pelo material, mas a procedure está funcionano no IBexpert. No java que nao estou conseguindo pegar todas as linhas de resposta.
Dah uma olhanda no meu while no java v c tem algo de errado?
E
emmanuelrock
Dá uma olhada no banco quantas linhas a procedure traz e compara no Java quantas linhas tem o resultSet (passando os mesmos parâmetros em ambas as consultas, faça um debug no Java).
Então tah mesma coisa.
Mais ele tah travando dentro do print, e mostra soh uma linha.
Não estou entendendo isso. A procedure esta certa, e o resultado dela tambem no Ibexpert.
Isso que tah me deixando lokoo.
vlww emanuel
E
emmanuelrock
Você ja tentou navegar pelas linhas da procedure no IBX? Ex: manda o cursor para a ultima linha. É que as vezes acontece de alguma linha estar com problema de overflow impossibilitando a navegação do resultSet.
G
gustavohs
Testei e esta normal.
E
emmanuelrock
Já tentou assim:
PreparedStatementps=conn.prepareStatement("SELECT nomeDoSeuParametroDeRetorno from GERA_CABECALHO_PEDIDOS_PALM(?,?)");ps.setInt(1,391553);ps.setInt(2,2260);rs=ps.executeQuery();while(rs.next()){System.out.println(rs.getString(nomeDoSeuParametroDeRetorno));}conn.close();