Como saber retorno de uma Query

7 respostas
H

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).

7 Respostas

furacao123

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?

H

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.

Deu pra entender? Valeu pela ajuda! :smiley:

M

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? (:

M

na pesquisa cria um if perguntando se o result é null ou = 0, se for, lança a msg falando “Não encontrado”

H

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.

nel

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.

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.

Abraços.

H

Valeu nel, não conhecia esse método, ele retornou 0 quando não tinha nenhuma linha alterada.

Obrigado!

Criado 11 de novembro de 2011
Ultima resposta 16 de nov. de 2011
Respostas 7
Participantes 4