Boa noite!
Sou iniciante em Java e estou desenvolvendo meu primeiro programa. Porém, cheguei num momento em que não consigo mais desenvolver e chegar no objetivo do software. Esse software basicamente consiste em cadastro e geração de relatórios.
Resumindo, estou com problemas na hora de excluir um registro do meu sistema.
Meu software faz cadastro de registros em uma tabela no MySql do seguinte modo:
id Nome Telefone IdCentroCusto
1 Jorge Fernando 15-99876-4857 500
2 Rafael Brugnara 15-9586-9999 345
3 Bruno Caetano 21-9857-3555 788
4 …
Essa tabela é listada em uma JTable para o usuário, e desenvolvi um esquema onde o usuário dá dois cliques em uma linha da tabela (ex: clicou na linha 3, o sistema faz uma query utilizando o valor dessa linha para encontrar o id e retornar o registro) e altera esse registro abrindo um JFrame com os dados da linha que o usuárioi clicou.
Eu utilizo o swing para o usuário poder fazer novos cadastros nessa tabela, alterações exclusoes. Porém, o campo id é de autoencremento e quando o usuário quer excluir o registro, acontece esse problema que vou explicar.
Por exemplo, o usuário quer excluir a linha 3. OK, meu sistema vai lá e exclui a linha 3 e reconstrói a table para o usuário, que ficaria assim:
1 Jorge Fernando 15-99876-4857 500
2 Rafael Brugnara 15-9586-9999 345
4 …
A JTable ficaria assim também quando fosse listada:
1 Jorge Fernando 15-99876-4857 500
2 Rafael Brugnara 15-9586-9999 345
4 …
porem, se a pessoa agora clicar no registro que marca id 4 na JTable, ele na verdade fará ima query da linha 3 (Select * From _ Where id=3) e essa linha não existe mais na minha tabela do SQL pq o usuário deletou. Ou seja, a linha 3 que ele clicou nao existe mais, gerando uma exception.
Eu pensei em uma solucáo para o problema que seria manipular o campo autuencremento, porém eu nao conheço nenhum comando no SQL que eu possa setar o valor do autoencremento, por exemplo: o autoencremento está em 1, 2 , 3 , 4. Ok como eu faço se eu quiser do 4 setar para 25 por exemplo? dai ele continuar 25,26,27? Isso resolveria meu problema, pois eu poderia renumar os ids e manipular a tabela.
Estou postando aqui pois talvez eu esteja fazendo de um jeito muito complicado, se puderem me informar um modo mais fácil ou um jeito de resolver esse problema eu agradeceria!
Desde já, agradeço