Rs.last(); - Buscar último registro cadastrado

Olá pessoal…

Estou com um problema. Quero pegar o último código (que é a chave primária) registrado no meu BD.
Pra isso, estou fazendo o seguinte:

rs.last(); ultimaID = rs.getString("Cod_Contato");

O meu código funciona corretamente até que o último código cadastrado seja maior que 9, caso isso ocorra o programa informa que o próximo código a ser cadastrado é o 10.

Dei uma olhada no meu BD, e ele fica dessa forma, por ex:

COD Campos
1
10
11
12
2
3
4
5
6
7
8
9

Com isso eu “conclui” que rs.last() busca a última linha que está no BD, e não o último cadastro efetuado, estou errada ou é isso mesmo??

O que eu posso fazer para que eu recupere o último CADASTRADO??
:roll:

Agradeço desde já,
Dina

Acho que encontrei a solução…

Logo após conectar ao Banco, deve-se fazer o seguinte:

	       rs.last();
		   int numResultados = rs.getRow();   
	       rs.first();

:slight_smile:
Dina

Olá.

O rs.last() está pegando a última linha do resultset.
Se vc quer pegar o maior, no select, vc pode dar um order by ID e continuar fazendo deste jeito pegando o último id.
Caso precise apenas do ID, vc pode fazer o select com o max(ID).

att,

Atente pra essa ordenação:

1
10
11
2
22
3

O campo ID pode estar como VARCHAR! bju.

É isso mesmo!!
:slight_smile:
Obrigada!!
:smiley:

Dina