Pessoal, estava fazendo um programa que faz uma conexão com banco de dados.
Mas, idependente de ele ter atualizado ou não um contato (é uma agenda telefônica), ele me retorna a mesma coisa, como eu posso ter o controle das linhas alteradas?
Exemplo, se atualizar um contato ele exibe “Contato Atualizado” e se ocorrer o contrário “ID do contato não existe” (ele busca o contato pelo ID).
Exemplifica melhor o seu problema, voce tem uma lista telefonica que possui varios contatos 1:N correto?
para voce visualizar os contatos de uma lista telefonica, voce tera de fazer o select dando um INNER JOIN em contato, assim ira retornar todos os contatos da lista telefonica, como voce fez o relacionamento entre essas duas tabelas e como esses objetos estao relacionados em sua aplicação?
Acho que eu expliquei errado a primeira vez, vou tentar de novo.
Quando tento executar um update no banco, vou e busco pelo ID do usuário e peço para ele atualizar os dados daquele ID específico.
Mas, se ele altera ou não, tanto faz, ele diz que a query foi executada e retorna true, e o programa exibe “Atualização efetuada com sucesso” pelo JOprionPane.
O que eu queria era que se nenhum dado fosse encontrado ele aparecesse “ID não encontrado”, a única forma que eu consigo imaginar para isso é dando um select antes, para ver se existe e se ele retorna algo.
lança um try catch, se ocorrer um erro ele lança uma mensagem personalizada, faz um if() se passou pelo catch, msg = “salvo com sucesso”, deu pra entender a ideia? (:
[quote=h0br]Valeu Matheus! Eu fiz um select antes, se ele retornasse o ID era por que ele existia, caso contrário, não.
Eu podería fazer isso no próprio Update? Não consegui pensar em nada ainda.[/quote]
O método executeUpdate retorna o número de linhas afetadas. Se executar um update mas aquele registro não existir, acredito que ele retorne 0 e não uma exceção.
É só verificar o número de linhas retornadas e caso seja 0, sabes que aquele registro não existe.