Remover dado do BD e retornar um boolean?

3 respostas
D

Boa Tarde, estou com a seguinte dúvida, eu estou removendo um dado do banco de dados, eu queria mostrar uma mensagem de sucesso ou erro com um boolean, alguém sabe como eu poderia fazer isso? Meu código é o seguinte:

public boolean remove(int telefone) throws SQLException{
		boolean b = true;
		
		try{
			Connection c = gc.conectaBanco();
			
			PreparedStatement stmt = c.prepareStatement("DELETE FROM Endereco WHERE (Select enderecoId FROM Cliente WHERE ? = Cliente.telefone) = Endereco.id");
			stmt.setInt(1, telefone);
			b = stmt.execute();
			
			stmt = c.prepareStatement("DELETE FROM Cliente WHERE Cliente.telefone = ?");
			
			stmt.setInt(1, telefone);
			stmt.execute();
			
			return b;
			
		}
		catch(Exception e){
			return false;
		}
	}

No caso a variável b sempre retorna falso.

3 Respostas

Lucas_Camara

Eu acho que esse retorno do método execute não indica se a exclusão foi feita com sucesso ou não, se não me engano, significa, em caso de TRUE, que o primeiro resultado é um resultSet e se for FALSE, que não veio resultados (no caso de busca).

Se alguém do fórum puder confirmar…

D

lucastody:
Eu acho que esse retorno do método execute não indica se a exclusão foi feita com sucesso ou não, se não me engano, significa, em caso de TRUE, que o primeiro resultado é um resultSet e se for FALSE, que não veio resultados (no caso de busca).

Se alguém do fórum puder confirmar…

É isso mesmo que vc falou, vc sabe como eu poderia fazer pra retornar verdadeiro se remover e falso se não remover?

Lucas_Camara

O correto seria avaliar o porque do sistema não conseguir remover, se for por uma exceção do banco (SQLException), dai vc deveria tratar a exceção retornando FALSE, e se não der erro, significa que removeu corretamente, retorna TRUE. Agora se não remover devido à algum regra, isso deverá ser verificada na classe que trata as regras do negócio.

Criado 15 de outubro de 2010
Ultima resposta 15 de out. de 2010
Respostas 3
Participantes 2