O método last() do ResultSet gera uma exceção; not yet implemented
Alguém pode me dar uma mãozinha aí?
Valeu!!
Boa tarde.
Tem alguns drivers JDBC que não permitem usar last ou first. Tive problema com o Firebird. Porém o JDBC do Oracle funciona.
Tente criar o statement usando a propriedade resulsetType.
Confira no link
http://www.guj.com.br/java.article.get.print.chain?article.id=120
Espero ter ajudado.
t+
Obrigado pelas informações muito bom esse artigo do guj.
Mas ainda não consegui resolver meu problema…
Queria fazer uma função para simular um auto-incremento num campo CODIGOCLIENTE numa tabela CLIENTES, sem deixar lacunas quando excluir um registro…
Minha idéia foi essa:
[code]
public int pegarUltimoRegistro()
{
int ultimoCodigo = 1; // inicialização obrigatória
String query = "SELECT CODIGOCLIENTE FROM CLIENTES";
try
{
Statement st = con.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
// Primeiro buscar o valor do código do último cliente da tabela - controle automático
// se for o primeiro registro então codigo = 1 é mantido
// senão recebe o valor da busca + 1
ResultSet rs = st.executeQuery(query);
if(rs.last())
{
ultimoCodigo = rs.getInt("CODIGOCLIENTE");
++ultimoCodigo;
}
st.close();
}
catch(SQLException ex)
{
System.err.println("SQLException: " + ex.getMessage());
}
return(ultimoCodigo);
}[/code]
Críticas e sugestões são muito bem vindas!! Valeu!!
Bom dia.
Faça um SQL que retorne:
select max(codigocliente) from cliente
Depois incremente o retorno da consulta.
t+