Só consigo cadastrar 1 pessoa no banco de dados

2 respostas
sqlitejavamysql
Pedro_Augusto_Alcant

Estou fazendo um programa bancario, na parte de cadastrar os clientes consigo cadastrar apenas uma pessoa, o ID é a chave primática, mas ele sempre muda quando roda o programa

int i, id=3;
    
    
     String nome = String.valueOf(Nometela.getText());
      String CPF = String.valueOf(CPFTela.getText());
      String sexo = String.valueOf(SexoTela.getActionCommand());
        
        String senha1 = String.valueOf(Senha1.getText());
        String Senha2 = String.valueOf(senha2.getText());
        String TipoConta = String.valueOf(TipoC.getSelectedItem());
        
        ConexaoCliente conec = new ConexaoCliente();
        CriarTabelaCliente tabela = new CriarTabelaCliente();;
      
       
        
        
        
     
    i=0;
    
      if(CPF.contains(" ")){
            JOptionPane.showMessageDialog(null, "CPF é obrigatório!");
            i++;
          
      }
     
      if(nome.equals("")){
            JOptionPane.showMessageDialog(null, "Nome é obrigatório!"); 
            i++;
      }
       
      if (senha1.equals("") && Senha2.equals("")){
          
          JOptionPane.showMessageDialog(null, "Campo senha é obrigatorio!");
      }
      if (senha1.equals(Senha2)){

          
      }else{
          
          JOptionPane.showMessageDialog(null, "Senhas não batem");
          i++;
      }
            if(i==0){
                
         
                Cliente clie = new Cliente(TipoConta,id,0,senha1,nome,sexo,CPF);
                CriarTabelaCliente cria = new CriarTabelaCliente();
                
                 
                conec.conectar();
                 tabela.criarTab();
                 conec.desconectar();
                 conec.conectar();
                
                 String sqlInsert = "INSERT INTO cliente("
                      + "codigo,"
                      + "nome,"
                      + "cpf,"
                         + "tipoDeConta,"
                         + "sexo,"
                         + "senha,"
                         + "saldo"
                      + ") VALUES(?,?,?,?,?,?,?)"
                      + ";";
                
                  PreparedStatement preparedstatment = conec.criarPreparedStatement(sqlInsert);
                  try {
                      
      preparedstatment.setInt(1, id);
      preparedstatment.setString (2,clie.getNome());
      preparedstatment.setString (3, clie.getCpf());
      preparedstatment.setString (4,clie.getTipoDeConta());
      preparedstatment.setString(5, clie.getSexo());
      preparedstatment.setString(6, clie.getSenha());
      preparedstatment.setFloat(7, 0);
      conec.desconectar();
        
        int resulado = preparedstatment.executeUpdate();
              
        
        if(resulado == 1){
        
                System.out.println("Pessoa Inserida");
            }else{
                    System.out.println("PEssoa Não inserida");
                    }
    } catch (SQLException e) {
                System.out.println("Pessoa não inserida");
    }finally{
                
                if (preparedstatment != null){
                    try {
                        
                        preparedstatment.close();
                        
                    } catch (SQLException ex) {

                    }
                }
                
           
                
                JOptionPane.showMessageDialog(null, "Cliente Cadastrado com sucesso!");
                new Loguin().show();
                
   
            }    
           
           
            

}                                        
  id++; 
  conec.desconectar();
}

2 Respostas

RenanRosa
Opa, você está dropando e criando a tabela toda hora ?

conec.conectar();

tabela.criarTab();

conec.desconectar();

conec.conectar();

Você não precisa desconectar e conectar toda hora para fazer isso.
Esse criarTab drop e cria a tabela ?
Poderia passar seu código completo ?

luksss2013

O código está um pouco confuso, mas acredito que você não está dando drop na tabela, ou seja, quando roda a aplicação, já existe esse usuário cadastrado na tabela, me passe o retorno do console para analisar melhor.
Caso queira testar, mude o id do usuário para 2 por exemplo.

Criado 8 de maio de 2018
Ultima resposta 8 de mai. de 2018
Respostas 2
Participantes 3