Boa Tarde,
Como faço para verificar se um (campo exemplo cpf) já existe cadastrado na tabela??
Meu metodo de consultar ta na classe cliente é esse:
publicResultSetconCliente(Stringpcpf){ResultSetresultado=null;try{// recupera uma conexao com o banco de dados.Connectionconexao=Util.getConexao();
// sql de consulta.StringSQL="SELECT * from cliente WHERE cpf = '"+pcpf+"'";// executa o SQL.Statementstmt=conexao.createStatement();resultado=stmt.executeQuery(SQL);}catch(Exceptionerro){System.out.println("Ocorreu um erro no metodo Cliente.conCliente(): "+erro.getMessage());}return(resultado);}
Como faço uma condiçao na classe do formulario para verificar (campo cpf )antes de cadastrar?E apareça uma mensagem para o usuario que o cadastro já existe?
Em relação a msg se for aplicação swing vc pode usar a classe JOptionPane se for web a varias possibilidades , ajax, javascript …
E
ecsmirror
Bravox
Tentei fazer o seu codigo mas nao rolou…da uma olhada na minha classe do form como eu coloquei o codigo:
privatevoidcadClienteMouseClicked(java.awt.event.MouseEventevt){booleanconCadCliente=conCadCliente();try{if(cpf.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo CPF em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(nome.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Nome em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(rg.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo RG em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(datanasc.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Data de Nascimento em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(endereco.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Endereço em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(bairro.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Bairro em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(cidade.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Cidade em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(uf.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Estado em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(cep.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Nome em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(telefoneres.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Nome em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}[b]ResultSetresultado=null;Clientecliente=newCliente();resultado=cliente.conCliente(pcpf);elseif(resultado.next()){JOptionPane.showMessageDialog(null,"CPF já Cadastrado!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}[/b]else{// ## Cria um novo Objeto ClienteClientecliente=newCliente();// ## Instancia o novo objeto com os parâmetros do formuláriocliente.setNome(nome.getText());cliente.setCPF(cpf.getText());cliente.setRG(rg.getText());cliente.setDataNasc(datanasc.getText());cliente.setEndereco(endereco.getText());cliente.setBairro(bairro.getText());cliente.setCidade(cidade.getText());cliente.setUF(uf.getText());cliente.setCEP(cep.getText());cliente.setTelRes(telefoneres.getText());cliente.setTelCom(telefonecom.getText());cliente.setTelCel(telefonecel.getText());cliente.setEmail(email.getText());// ## Insere os dados no banco atraves do método regCliente Classe Clientecliente.regCliente();System.out.println("Cadastro realizado com sucesso!!!");JOptionPane.showMessageDialog(null,"Cadastro realizado com sucesso!!");inicializaForm();}}catch(Exceptionerro){System.out.println("Ocorreu um erro no metodo FCliente.regCliente() "+erro.getMessage());}}
Ele da um erro " ‘else’ whitou ‘if’ " …putz ta osso rsrsr
Um else if tem que estar logo depois de um outro else if ou de um if e no seu caso está depois das declarações …
Pelo que eu vi vc quer validar os dados para depois efetuar a consulta então faz o seguinte
ResultSetresultado=null;Clientecliente=newCliente();resultado=cliente.conCliente(pcpf);if(resultado.next()){JOptionPane.showMessageDialog(null,"CPF já Cadastrado!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}else{// demais codigo
E
ecsmirror
Fiz assim…
mas ele ignora meu if … e cadastra
try {
ResultSetresultado=null;Clientecliente=newCliente();resultado=cliente.conCliente(pcpf);if(resultado.next()){JOptionPane.showMessageDialog(null,"CPF já Cadastrado!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}elseif(cpf.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo CPF em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}
B
Bravox
acho que vc não entendeu ! não era para mudar a posição do seu do código mais sim para passar o else if para if
// códigos anteriores elseif(telefoneres.getText().equals("")){JOptionPane.showMessageDialog(null,"Campo Nome em branco!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}ResultSetresultado=null;Clientecliente=newCliente();resultado=cliente.conCliente(pcpf);if(resultado.next()){JOptionPane.showMessageDialog(null,"CPF já Cadastrado!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}else{// demais código
E
ecsmirror
Blz coloquei como vc pediu mas ele cadastra do mesmo jeito …parece q ignora o if…
Eu acho q tem algum lugar ai q vai o campo (cpf.gettext()) algo assim…pq ele tem q comparar se o campo é iigual o resultado q ele trazer certo??
Se for igual ele nao deixa cadastrar…
if(resultado.next()){JOptionPane.showMessageDialog(null,"CPF já Cadastrado!!","Mensagem",JOptionPane.INFORMATION_MESSAGE);}else{// ## Cria um novo Objeto Cliente// Cliente cliente = new Cliente();// ## Instancia o novo objeto com os parâmetros do formuláriocliente.setNome(nome.getText());
…
E
ecsmirror
Bom consegui fazer funcionar esta funçao!!!
resultado = cliente.conCliente(cpf.getText( ));
nesta linha nao estava colocando o cpf.gettext()…valeu ein pela ajudaaaa