Dificuldades para incluir

2 respostas
dudujava1
Bom, eu já consegui fazer uma inclusão no banco antes, porém estou a dois dias quebrando a cabeça e não consigo resolver esse problema. Eu uso MySQL, a conexão está beleza, porém ele acusa a mensagem que eu programei na hora de incluir e eu não estou detectando o erro. Aí segue o método:
public void incluir(){
        Banco banco = new Banco();
        
        String sql = ("insert into leitores (nome,rg,cpf,telefone,celular,endereco,numero,bairro,segEndereco,segNumero,segBairro,id) values (?,?,?,?,?,?,?,?,?,?,?,null)");
        try{
            PreparedStatement comandoSql = banco.con.prepareStatement(sql);
            comandoSql.setString(1,nome);
            comandoSql.setString(2,rg);
            comandoSql.setString(3,cpf);
            comandoSql.setString(4,telefone);
            comandoSql.setString(5,celular);
            comandoSql.setString(6,endereco);
            comandoSql.setString(7,numero);
            comandoSql.setString(8,bairro);
            comandoSql.setString(9,segEndereco);
            comandoSql.setString(10,segNumero);
            comandoSql.setString(11,segBairro);
            comandoSql.execute();
            JOptionPane.showMessageDialog(null,"Registro inserido com sucesso");
        }
        catch(Exception erro){
            JOptionPane.showMessageDialog(null,"Banco de Dados com problema, SQL ERROR:" + erro.getMessage());
        }
    }

O método de inclusão é este, espero que possam me ajudar.
Obrigado!

2 Respostas

davidbuzatto

Bem, você não postou o erro, mas mesmo assim, notei algumas coisas.

Seu id é sua chave primária?
Se sim, você precisa fornecer um valor diferente de null para ele obrigatoriamente.

Seu id é auto-incremento?
Se sim, você pode omití-lo do insert, pois o valor dele sempre será gerado automaticamente, sendo assim, tire ele da lista de colunas e o null da lista de valores.

[]'s

dudujava1
É auto incremento sim! Obrigado pela dica, já removi o id do insert, porém a parte do erro não vai ser possível passar, pois ele não apresenta erros, pelo contrário, ele acusa como construído com sucesso. Eu coloquei pra realizar a conexão logo embaixo do initComponents(); pra conectar toda vez que chamar esse JDialog de cadastro, uma vez que vou utilizar o banco sempre nessa tela, seja pra inserir, consultar, excluir e etc. Acredito que a conexão tá beleza, não acusa janela de erro nenhuma, mesmo as que eu programei para aparecer no catch{ com os showMessageDialog. Já na hora de cadastrar ele aparece a mensagem de erro, mas não do log da IDE e sim da janela que eu coloquei:
catch(Exception erro){
            JOptionPane.showMessageDialog(null,"Erro na inserção de registro" + erro.getMessage());
O evento do botão de inclusão é o seguinte:
Leitor lei = new Leitor();
    lei.setBairro(txtNome.getText());
    lei.setCelular(txtRg.getText());
    lei.setCpf(txtCpf.getText());
    lei.setEndereco(txtTelefone.getText());
    lei.setNome(txtCelular.getText());
    lei.setNumero(txtEndereco.getText());
    lei.setRg(txtNumero.getText());
    lei.setSegBairro(txtBairro.getText());
    lei.setSegEndereco(txtSegEndereco.getText());
    lei.setSegNumero(txtSegNumero.getText());
    lei.setTelefone(txtSegBairro.getText());

    lei.incluir();

Obrigado pela atenção.

Criado 2 de dezembro de 2011
Ultima resposta 3 de dez. de 2011
Respostas 2
Participantes 2