Try { catch }

pessoal quero uma pequena ajuda… estou fazendo um codigo de cadastro… nele a pessoa digita pra excluir por Exemplo…

Digite o nome para excluir…

ai com esse nome queria verificar primeiro se ele ta na base de dados… se tiver so retorna a mensagem, excluido com sucesso… se nao… Esse nome não existe no banco de dados!

só isso… como fazzer?

Código:
Método principal

package contato.principal;

import contato.bean.traficoBean;
import contato.dao.ContatoDao1;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import util.DAOException;

public class Principal {

    public static void main(String args[]) throws DAOException {
        int m = 0;
        while (m == 0) {
            traficoBean cb = new traficoBean();
            ContatoDao1 cd = new ContatoDao1();
            String a = JOptionPane.showInputDialog("Digite 1 para inserir;\n" +
                    "2 para listar;\n" +
                    "3 para selecionar;\n" +
                    "4 para excluir;\n" +
                    "5 para alterar;\n");
            int b = Integer.parseInt(a);
            switch (b) {
                case 1:
                    cb.setNome(JOptionPane.showInputDialog("Digite o nome do traficante: "));
                    cb.setFunc(JOptionPane.showInputDialog("Digite a Função: "));
                    cb.setTempo(JOptionPane.showInputDialog("Digite o tempo que o traficante faz parte da Familia: "));
                    cb.setStatus(JOptionPane.showInputDialog("Digite se ele está VIVO / MORTO: "));
                    try {
                        cd.inserir(cb);
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 2:
                    try {
                        JOptionPane.showMessageDialog(null, cd.listar());
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 3:
                    cb.setNome(JOptionPane.showInputDialog("Digite o Nome: "));
                    try {
                        JOptionPane.showMessageDialog(null, cd.selecionar(cb.getCodigo()));
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 4:
                    cb.setNome(JOptionPane.showInputDialog("Digite o Nome para que possa excluir o cadastro! "));
                    try {
                        cd.excluir(cb.getNome());
                        JOptionPane.showMessageDialog(null, "Operação realizada com sucesso!    ");
                        
                        //JOptionPane.showMessageDialog(null, "Operação realizada com sucesso!");
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                case 5:
                    cb.setNome(JOptionPane.showInputDialog("Digite o nome do traficante: "));
                    cb.setFunc(JOptionPane.showInputDialog("Digite a Função: "));
                    cb.setTempo(JOptionPane.showInputDialog("Digite o tempo que o traficante faz parte da Familia: "));
                    cb.setStatus(JOptionPane.showInputDialog("Digite se ele está VIVO / MORTO: "));
                    try {
                        cd.alterar(cb);
                    } catch (DAOException ex) {
                        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
            }
            m = JOptionPane.showConfirmDialog(null, "Deseja continuar usuando o sistema?");
        }
        JOptionPane.showMessageDialog(null, "Vlw... vai um bagulho aew?!?!?");
    }
}

minha base onde coloco o codigo pra excluir:


    public Boolean excluir(String nome) throws DAOException {

        String sql = "delete from trafico where nome = '" + nome + "'";

        try {
            con = Conexao.getConexao();
            stm = con.createStatement();
            if (stm.executeUpdate(sql) == 0) {
                return true;
            }
        } catch (SQLException ex) {
                throw new IllegalArgumentException("Você tentou depositar um valor negativo");//ex.printStackTrace();
        } finally {
            Conexao.fechar(stm);
            Conexao.fechar(con);
        }
        return false;
    }

no aguardo… vlw!

Pelo que entendi o que voce precisa fazer neste caso é um select na base tipo assim:

SQL = “select count(*) from trafico where nome like '” + nome + '"

isso vai te retornar um registro com a quantidade de registros que possuem este nome, ento se for maior que zero voce exclui se nao, voce pode mostrar a mensagem
de que o registro nao existe atrves de um JOptionPane;

uma coisa interessante tambem que voce deve cuidar nestes caso é o seguinte: no seu sql voce esta excluindo todos os registros que possuem aquele nome… e seu houver mais d um voce ira excluir todos…
a nao ser que voce ja esteje validando para nao cadastrar mais de uma com o mesmo nome…

espero ter ajudado

alisson é mais ou menos o que eu quero!

respondendo tua dica final!

eu estou alterando por nome, mais vou alterar depois por codigo pois é chave primaria!

agora pro questionamento acima!

mando o usuario digitar o nome da pessoa se nao tiver quero que diga… não existe esse usuario cadastrado… se tiver… aparecer usuario excluido com sucesso!

entendeu?

O método executeUpdate() retorna o número de linhas alteradas/inseridas/excluídas. Você já está fazendo essa verificação, o único problema é que você está fazendo ao contrário:

if (stm.executeUpdate(sql) == 0) { return true; }

Deveria ser:

if (stm.executeUpdate(sql) > 0) { return true; // pelo menos um registro foi apagado } else { return false; // nenhum registro foi apagado }
ou simplesmente:

         return (stm.executeUpdate(sql) > 0);