JDBC X Stored Procedure

3 respostas
A

Galera, ja li diversas dicas em varios foruns, testei varios exemplos e nada funcionou. Estou precisando executar uma procedure do Slq Server 2005, a conexão esta ok, mas quando executa a procedure retorna a msg abaixo.

java.sql.SQLException: No current row in the ResultSet.

Codigo para teste:

CallableStatement cs = conexao.prepareCall("{call Teste()}");
ResultSet rs = cs.executeQuery();
			
System.out.println(rs.getString(1));

Ja tentei inserir parametro de output e nada.

Procedure

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Teste] 
AS
BEGIN
	select descricao from produto
END

Alguem pode me ajudar, vlw galera.

3 Respostas

A

Quando executo a procedure direto no banco, funciona sem problema.

T

Nunca se esqueça de usar “next” mesmo que o resultset tenha sempre e exatamente um registro.
É ele que carrega a linha no buffer do resultset, se é o que você quer saber.

CallableStatement cs = conexao.prepareCall("{call Teste()}");
 ResultSet rs = cs.executeQuery();
if (rs.next()) { 			
 System.out.println(rs.getString(1));
}
A

Era isso mesmo, estava faltando o rs.next().

Vlw Amigo, muito obrigado.

Criado 14 de fevereiro de 2007
Ultima resposta 14 de fev. de 2007
Respostas 3
Participantes 2