Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thais Dizero

Mensagen usando UNIQUE

Recommended Posts

Tenho o seguinte código para inserir dados

 

public void Salvar(Beans_Cliente mod) {
conex.conexao();
try {
PreparedStatement pst;
pst = conex.con.prepareStatement("insert into cliente(nome, endereco, numero, telefone, celular, cpf, rg, cidade, estado) values (?,?,?,?,?,?,?,?,?)");
pst.setString(1, mod.getNome());
pst.setString(2, mod.getEndereco());
pst.setInt(3, mod.getNumero());
pst.setString(4, mod.getTelefone());
pst.setString(5, mod.getCelular());
pst.setString(6, mod.getCpf());
pst.setString(7, mod.getRg());
pst.setString(8, mod.getCidade());
pst.setString(9, mod.getEstado());
pst.execute();
JOptionPane.showMessageDialog(null, "Cliente inserido com Sucesso");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao inserir cliente/nErro:" +ex.getMessage());
}
conex.desconecta();
}

 

 

porem no banco de dados estou usando UNIQUE para não deixar ter duplicidade, como faço para mostrar mensagens diferentes uma para
"Erro ao inserir clientes" e outra para
"Cliente já cadastrado".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um método só pra saber se o dado já existe

Imagino que esteja aplicando o unique ao cpf

Então ficaria mais ou menos assim

public Boolean VerificarCPF(Beans_Cliente mod){
        conex.conexao();
        try{
            PreparedStatement pst;
            pst = conex.con.prepareStatement("select cpf from cliente where cpf=?");
            pst.setString(1, mod.getCpf());
            ResultSet rs = pst.executeQuery();
            res = false;
            while(rs.next()){
               res = true;
            }
            return res;
        }catch(Exception e){
               return false;
        }
}

public void Salvar(Beans_Cliente mod) {
        conex.conexao();
        try {
            PreparedStatement pst;
            pst = conex.con.prepareStatement("insert into cliente(nome, endereco, numero, telefone, celular, cpf, rg, cidade, estado) values (?,?,?,?,?,?,?,?,?)");
            pst.setString(1, mod.getNome());
            pst.setString(2, mod.getEndereco());
            pst.setInt(3, mod.getNumero());
            pst.setString(4, mod.getTelefone());
            pst.setString(5, mod.getCelular());
            pst.setString(6, mod.getCpf());
            pst.setString(7, mod.getRg());
            pst.setString(8, mod.getCidade());
            pst.setString(9, mod.getEstado());
 
            if(!verificarCpf(mod)){
              //Se retornar false, quer dizer que não existe cpf no registro, pode cadastrar
               pst.execute();
               JOptionPane.showMessageDialog(null, "Cliente inserido com Sucesso");
            }else{
               JOptionPane.showMessageDialog(null, "Já existe um Cliente com esse CPF");
            }
           
        } catch (SQLException ex) {
           
            JOptionPane.showMessageDialog(null, "Erro ao  inserir cliente/nErro:" +ex.getMessage());
        }
        conex.desconecta();
    }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.