Ola fiz um programinha ele exclui legal quando informa o id ele exclui mais quando informo um id que não tem na tabela ele não cai na exceção .O codigo e esse
Contato contato = new Contato();
Long id;
id = Long.parseLong(JOptionPane.showInputDialog("Informe o ID "));
contato.setId(id);
try {
ContatoDao dao = new ContatoDao();
dao.remove(contato);
JOptionPane.showMessageDialog(null,"Deletado com Sucesso.");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro Id invalido.","Erro",JOptionPane.ERROR_MESSAGE);
}
E o que você quer que aconteça quando inserir um id que não ta cadastrado?
Se você quer algum evento especial, trate ele no bloco exception, caso você apenas queira ignorar, insira um try catch, no trecho do codigo que gera a exception, embora isso seja um ma pratica.
Boa tarde.
Normalmente o resultado de uma instrução (insert, delete, update) SQL retorna um int com a quantidade de linhas afetadas.
Você pode tratar o retorno da instrução.
exemplo:
if(dao.remove(contato) == 0)
JOptionPane.showMessageDialog(null, "Erro Id invalido.","Erro",JOptionPane.ERROR_MESSAGE);
ola gente eu denovo não ta entrando ainda no cacth não sei mesmo o que ta havendo meu metodo remove e esse ai
public void remove (Contato c1) throws SQLException{
String sql = "delete from cliente where id = ?";
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setLong(1, c1.getId());
stmt.execute();
stmt.close();
}
Esse e meu metodo deletar chamando o metodo remove
public void deletar(){
Contato cont = new Contato();
int id;
id = Integer.parseInt(JOptionPane.showInputDialog("Informe o ID "));
cont.setId(id);
try {
ContatoDao dao = new ContatoDao();
dao.remove(cont);
JOptionPane.showMessageDialog(null, "Deletado com sucesso .");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Id não existe.","Mensagem Erro",JOptionPane.ERROR_MESSAGE);
}
Alguem poderia me da uma luz fiz tudo que o pessoal me disse ai mais nao entra no catch. Muito Obrigado se alguem responder.