Problema com lançamento de Erro de Cadastro

Boa tarde galera…esou com um probleminha aqui que não parece ser tão complexo, mas nao to conseguindo resolver…é o seguinte.:
No meu método de cadastrar da Regra de Negocio, tem um execção que verifica se o cliente ja existe, caso exista ele lança a exeçção, mas mesmo assim, o cara existindo no banco de dados ele aparece em Tempo de execução ja JTable, ai sempre que fecho e abro a aplicação ele some, a duvida é…por que ele aparece na JTable mesmo depois da validação???
MÉTODO

public void cadastrarContato(String nome , String idade , String telefone) throws SQLException{ String val = "Anderson"; if( nome == val){ JOptionPane.showMessageDialog(null,"Cliente ja cadastrado no Banco de Dados");//ESSA ESCEÇÃO QUE ERA PRA SER LANÇADO CASO O NOME DIGITADO FOSSE ANDERSON }else if(nome != val){ Contato cont = new Contato(nome,idade,telefone); contatoDAO cDAO = new contatoDAO(); cDAO.inserir(cont); } }
BOTAO CADASTRAR

[code]private void bt_cadastrarActionPerformed(java.awt.event.ActionEvent evt) {

    if((evt.getSource() == bt_cadastrar) && (verificarDados())){
        ContatoNegocio cont = new ContatoNegocio();
        ContatoTableModel modelo = (ContatoTableModel)tabela.getModel();
        contatoDAO dao = new contatoDAO();
        
        // Contato Criado para utilizar no tablemodel, para que ele
        // possa indentificar o novo contato
        Contato contato = new Contato(tf_nome.getText() , tf_idade.getText() , tf_telefone.getText());
        try {
            
            cont.cadastrarContato(contato.getNome(),contato.getIdade(),contato.getTelefone());
            int num = dao.buscaID(contato.getNome());
            contato.setIdusuario(num);
            modelo.add(contato);
           
            
            
        } catch (SQLException ex) {
            Logger.getLogger(ContatoFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        limparCampos();
            
        
    }
}   [/code]

Ola Anderson, a reposta para a sua pergunta esta nesse trecho de código:

cont.cadastrarContato(contato.getNome(),contato.getIdade(),contato.getTelefone()); int num = dao.buscaID(contato.getNome()); contato.setIdusuario(num); modelo.add(contato);

Você tenta inserir um contato e verifica se ele existe até ai tudo bem, mas o problema é que se ele existir você simplesmente mostra uma mensagem e continua a execução por isso mesmo ele existindo no banco você o adiciona no seu TableModel.

Você deveria lançar uma exception ou executar algum tratamento para que a execução não continue e ele não adicione o contato no seu tabelmodel.

Acho que é isso :wink:

Certo…Mas eu lançei a execção no controller vc reparou???
lá é o mais certo não??? e como implementa essa sua sugestão???

  public void cadastrarContato(String nome , String idade , String telefone) throws SQLException
{  
                String val = "Anderson";  
                if (nome.equals(val))
                {  
                  //ESSA É UMA MANEIRA
                  new throw SQLException("Cliente ja cadastrado no Banco de Dados");
                }
                else if(nome != val)
                {  
                      Contato cont = new Contato(nome,idade,telefone);  
                      contatoDAO cDAO = new contatoDAO();  
                      cDAO.inserir(cont);  
               }  
   }  

[quote=Anderson S.]Certo…Mas eu lançei a execção no controller vc reparou???
lá é o mais certo não??? e como implementa essa sua sugestão???[/quote]

Oi,

Para comparação entre String, utiliza-se equals e não ==

Só modifique isso em seu IF.

Tchauzin!

Certo lina, ele faz a comparação perfeitamente, mas ele insere no modelo o dado comparadado caso ele ja esteja cadastrado…ai uando fecho e abro a aplicação ele nao está lá…mas enquanto nao fecho ele continua lá…esse é o problema…

[quote=WendersonLP] public void cadastrarContato(String nome , String idade , String telefone) throws SQLException { String val = "Anderson"; if (nome.equals(val)) { //ESSA É UMA MANEIRA new throw SQLException("Cliente ja cadastrado no Banco de Dados"); } else if(nome != val) { Contato cont = new Contato(nome,idade,telefone); contatoDAO cDAO = new contatoDAO(); cDAO.inserir(cont); } } [/quote]
Essa sua solução nao deu certo…ta pedindo pra mim criar o método SQLException