e agora o que eu faço? Só tenho uma String com o nome da coluna para poder pegar o valor de uma chamada a uma stored procedure
[RESOLVIDO] getInt(String) não implementado pelo Driver JDBC Postgres
13 Respostas
nem compila? pq getInt(String) é da interface java.sql.ResultSet
teoricamente devia ser implementado
geralmente a chamada é feita através de um objeto ResultSet
compila.
Mas quando executa… lança uma exception 
poe o codigo ae 
o getInt(int) é implementado?
é sim!
de repente vc usa o getInt(int) enquanto n descobre o q acontece… só como solucao temporaria, é só descobrir a ordem das colunas na stored procedure :lol:
é… tambem pensei nisso
serial ideal usar somente a string
se postar o código da exception ae talvez fique mais facil de achar a solução.
org.postgresql.util.PSQLException: Método org.postgresql.jdbc3.Jdbc3CallableStatement.getInt(String) ainda não foi implementado.

vc quer pegar um parametro passado nessa stored procedure? parece que é isso q esse método faz
se vc quer pegar o valor da coluna que o resultado da execucao dessa stored procedure traz vc deve chamar o getInt(String) de um objeto ResultSet
ex: ResultSet rs = seuCallable.executeQuery();
while(rs.next())
{
int i = rs.getInt("nome_da_coluna");
}
vc quer pegar um parametro passado nessa stored procedure? parece que é isso q esse método fazse vc quer pegar o valor da coluna que o resultado da execucao dessa stored procedure traz vc deve chamar o getInt(String) de um objeto ResultSet
ex:
ResultSet rs = seuCallable.executeQuery(); while(rs.next()) { int i = rs.getInt("nome_da_coluna"); }
org.postgresql.util.PSQLException: Nenhum resultado foi retornado pela consulta.
pode ser q sua consulta nao retornou nada e vc tá chamando o getInt sem checar se o resultSet tá vazio,
faça o getInt dentro de um while(){}rs.next()
pode ser q sua consulta nao retornou nada e vc tá chamando o getInt sem checar se o resultSet tá vazio,faça o getInt dentro de um
while(){}rs.next()
Na verdade não é no ResultSet que eu vou atrás do valor do parametro OUT, é no proprio objeto CallableStatement (CallableStatement.getInt(String)).
Chamo o CallableStatement.getInt(int) ele me retorna normalmente…
Resolvi!
Utilizei o DatabaseMetaData
Com o método getProcedureColumns(…) eu posso recuperar os parametros da stored procedure e daí comparar os nomes… Quando achar o parametro, pega o index e chama getInt(int) passando o index.
[]'s