Salvando os Jcheckbox no banco de dados Mysql? [RESOLVIDO]

Bom galera tenho uma aplicação onde cadastro os funcionários de uma empresa, e nela existem algumas jchekbox:
como:
Se o funcionário esta apto[] ai tem a caixa onde o usuário irá marcar se ele esta apto ou não!!!

Pergunta??

Como faço pra salvar no meu banco de dados???
Eu uso o banco de dados mysql!!
minha aplicação esta sendo feita no Netbeasn 6.9.1!!!

galera ajuda ai, valeu!!!

Deixa ver se entendi.

Vc tem um campo no formulário que deve salvar como sim ou não?

Caso seja isso, verifica se o campo está marcado e caso positivo vc envia a informação pro banco. Já no banco, vc usa um TINYINT(1), e assim vc recupera automaticamente no mapeamento como um valor Boolean.

[quote=Cesimar]Deixa ver se entendi.

Vc tem um campo no formulário que deve salvar como sim ou não?

Caso seja isso, verifica se o campo está marcado e caso positivo vc envia a informação pro banco. Já no banco, vc usa um TINYINT(1), e assim vc recupera automaticamente no mapeamento como um valor Boolean.[/quote]

Bom mais ou menos isso, mas tenho outro jcheckbox, como cursos:
cursos:
informática básica[ ]
Técnico Profissionalizante[ ]
Eletricista RDA [ ]
entre outros . . .

quero saber como faço pra salva-lós no banco???

Pelo que to entendo vc deve fazer o seguinte: para valores de sim e nao, é aquilo que mencionei antes. Entretanto para valores, que vc pretende armazenar como dados de preferencias, vc precisa ter uma tabela (opcoes [info_basica, tecnico_prof, eletricista e o que for mais]) e quando vc recuperar o formulario, verifica quais campos estão marcados. Desta forma vc consegue direcinar qual eh a preferencia do usuario.

Bom entendi, mas vc tem alguma coisa pronta algum codigo de exexplo onde inserir os codigos???
Valew!!!

Ter eu nao tenho, mas posso fazer. Mas antes preciso que vc me responda mais uma coisa. Esses valores de opcoes são fixos, ou seja, eles já estão pre-estabelecidos ou são dinâmicos?

São fixos!!!
Tipo já estão criados, quero apenas um exemplo de um!!!
Curso de JAVA [ ]
ai o usuário vai marcar se tem o curso!!!
depois tenho de salvar!!!
sobre salvar!!!

tenho um botão salvar na minha aplicação

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

    try {
   

         Class.forName("com.mysql.jdbc.Driver");

        Connection conn;

        conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario", "root", "11111");

        JOptionPane.showMessageDialog(null, "Gravado com Sucesso !!!");

String query =
“INSERT INTO dados_funcionario(matricula,nome,cpf,rg,ctps,cnh,validade_cnh,funcao_ctps,dia_nasc,funcao_contrato,admissao,desligamento,lic_ini,lic_fim,remu_salario,remu_adic_per,remu_adic_real,peri_validade,cont_sindical,nr_validade,sep_validade,obs,contrato_box) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”;

        PreparedStatement stmt = conn.prepareStatement(query);

      
        stmt.setString(1, camp_matricula.getText());
        stmt.setString(2, camp_nome.getText());
        stmt.setString(3, camp_cpf.getText());
        stmt.setString(4, camp_rg.getText());
        stmt.setString(5, camp_ctps.getText());
        stmt.setString(6, camp_cnh.getText());
        stmt.setString(7, camp_cnh_validade.getText());
        stmt.setString(8, camp_funcao_ctps.getText());
        stmt.setString(9, camp_dn.getText());
        stmt.setString(10, camp_funcao_contr.getText());
        stmt.setString(11, camp_admissao.getText());
        stmt.setString(12, camp_desligamento.getText());
        stmt.setString(13, camp_licenca_inicio.getText());
        stmt.setString(14, camp_licenca_terminio.getText());
        stmt.setString(15, camp_remu_salario.getText());
        stmt.setString(16, camp_remu_adcional.getText());
        stmt.setString(17, camp_remu_adicional_reais.getText());
        stmt.setString(18, camp_periodico_validade.getText());
        stmt.setString(19, camp_cont_sindical.getText());
        stmt.setString(20, camp_nr10_validade.getText());
        stmt.setString(21, camp_sep_validade.getText());
        stmt.setString(22, jTextArea1.getText());
        stmt.setString(23, (String) jComboBox1.getSelectedItem());
        
            



    
               
        stmt.executeUpdate();

        stmt.close();
        conn.close();
        
  
    } catch (ClassNotFoundException classNotFound){
        classNotFound.printStackTrace();
        System.exit(1);

    } catch (SQLException sqlException){
        sqlException.printStackTrace();
        System.exit(1);


    }
}                                            [/code]

Nele que eu tenho que salvar também meus Jcheckbox???

valeu!!!

private void botao_salvarActionPerformed(java.awt.event.ActionEvent evt) {                                             

        try {
       

             Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario", "root", "11111");

            JOptionPane.showMessageDialog(null, "Gravado com Sucesso !!!");


String query =
"INSERT INTO dados_funcionario(matricula,nome,cpf,rg,ctps,cnh,validade_cnh,funcao_ctps,dia_nasc,funcao_contrato,admissao,desligamento,
lic_ini,lic_fim,remu_salario,remu_adic_per,remu_adic_real,peri_validade,cont_sindical,nr_validade,sep_validade,obs,contrato_box,
apto,curso_java,curso_eletricista) 
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            
            PreparedStatement stmt = conn.prepareStatement(query);

          
            stmt.setString(1, camp_matricula.getText());
            stmt.setString(2, camp_nome.getText());
            stmt.setString(3, camp_cpf.getText());
            stmt.setString(4, camp_rg.getText());
            stmt.setString(5, camp_ctps.getText());
            stmt.setString(6, camp_cnh.getText());
            stmt.setString(7, camp_cnh_validade.getText());
            stmt.setString(8, camp_funcao_ctps.getText());
            stmt.setString(9, camp_dn.getText());
            stmt.setString(10, camp_funcao_contr.getText());
            stmt.setString(11, camp_admissao.getText());
            stmt.setString(12, camp_desligamento.getText());
            stmt.setString(13, camp_licenca_inicio.getText());
            stmt.setString(14, camp_licenca_terminio.getText());
            stmt.setString(15, camp_remu_salario.getText());
            stmt.setString(16, camp_remu_adcional.getText());
            stmt.setString(17, camp_remu_adicional_reais.getText());
            stmt.setString(18, camp_periodico_validade.getText());
            stmt.setString(19, camp_cont_sindical.getText());
            stmt.setString(20, camp_nr10_validade.getText());
            stmt.setString(21, camp_sep_validade.getText());
            stmt.setString(22, jTextArea1.getText());
            stmt.setString(23, (String) jComboBox1.getSelectedItem());


            
            // aqui vc verifica se estão selecionados   
            stmt.setBoolean(24, chkApto.isSelected());
            stmt.setBoolean(25, chkCursoJava.isSelected());
            stmt.setBoolean(26, chkCursoEletricista.isSelected());



        
                   
            stmt.executeUpdate();

            stmt.close();
            conn.close();
            
      
        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();
            System.exit(1);

        } catch (SQLException sqlException){
            sqlException.printStackTrace();
            System.exit(1);


        }
    }                                            

Fiz algumas modificações no seu código. Vê se dá pra entender. Como vc falou que os valores já são estabelecidos, então pode ser posto na própria tabela.

[quote=Cesimar][code]
private void botao_salvarActionPerformed(java.awt.event.ActionEvent evt) {

    try {
   

         Class.forName("com.mysql.jdbc.Driver");

        Connection conn;

        conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario", "root", "11111");

        JOptionPane.showMessageDialog(null, "Gravado com Sucesso !!!");

String query =
“INSERT INTO dados_funcionario(matricula,nome,cpf,rg,ctps,cnh,validade_cnh,funcao_ctps,dia_nasc,funcao_contrato,admissao,desligamento,
lic_ini,lic_fim,remu_salario,remu_adic_per,remu_adic_real,peri_validade,cont_sindical,nr_validade,sep_validade,obs,contrato_box,
apto,curso_java,curso_eletricista)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”;

        PreparedStatement stmt = conn.prepareStatement(query);

      
        stmt.setString(1, camp_matricula.getText());
        stmt.setString(2, camp_nome.getText());
        stmt.setString(3, camp_cpf.getText());
        stmt.setString(4, camp_rg.getText());
        stmt.setString(5, camp_ctps.getText());
        stmt.setString(6, camp_cnh.getText());
        stmt.setString(7, camp_cnh_validade.getText());
        stmt.setString(8, camp_funcao_ctps.getText());
        stmt.setString(9, camp_dn.getText());
        stmt.setString(10, camp_funcao_contr.getText());
        stmt.setString(11, camp_admissao.getText());
        stmt.setString(12, camp_desligamento.getText());
        stmt.setString(13, camp_licenca_inicio.getText());
        stmt.setString(14, camp_licenca_terminio.getText());
        stmt.setString(15, camp_remu_salario.getText());
        stmt.setString(16, camp_remu_adcional.getText());
        stmt.setString(17, camp_remu_adicional_reais.getText());
        stmt.setString(18, camp_periodico_validade.getText());
        stmt.setString(19, camp_cont_sindical.getText());
        stmt.setString(20, camp_nr10_validade.getText());
        stmt.setString(21, camp_sep_validade.getText());
        stmt.setString(22, jTextArea1.getText());
        stmt.setString(23, (String) jComboBox1.getSelectedItem());


        
        // aqui vc verifica se estão selecionados   
        stmt.setBoolean(24, chkApto.isSelected());
        stmt.setBoolean(25, chkCursoJava.isSelected());
        stmt.setBoolean(26, chkCursoEletricista.isSelected());



    
               
        stmt.executeUpdate();

        stmt.close();
        conn.close();
        
  
    } catch (ClassNotFoundException classNotFound){
        classNotFound.printStackTrace();
        System.exit(1);

    } catch (SQLException sqlException){
        sqlException.printStackTrace();
        System.exit(1);


    }
}                                            

[/code]

Fiz algumas modificações no seu código. Vê se dá pra entender. Como vc falou que os valores já são estabelecidos, então pode ser posto na própria tabela.[/quote]

Bom funcional legal valeu mesmo!!!
Mas outra pergunta, depois vou fazer relátorios sobre os funcionários quais cursos ele tem, ele salva no banco como 1 = marcado e 0 = não marcado, tem como ser 1 = sim e 0 = não???
valeu mesmo

Sim! Entretanto é melhor vc fazer com 1 e 0, e no momento em que for criar relatório, poderá verificar, se for 0 (não) e 1 (sim). Mas sem nenhum problema vc pode mudar o valor do banco para um varchar(3) para recuperar os valores de sim e nao.

Não esqueça de mudar o titulo do topico e acrescentar [RESOLVIDO]. Vlw

[quote=Cesimar]Sim! Entretanto é melhor vc fazer com 1 e 0, e no momento em que for criar relatório, poderá verificar, se for 0 (não) e 1 (sim). Mas sem nenhum problema vc pode mudar o valor do banco para um varchar(3) para recuperar os valores de sim e nao.

Não esqueça de mudar o titulo do topico e acrescentar [RESOLVIDO]. Vlw[/quote]

Sim, mas tudo bem criei o varchar mas quero salva-los com sim e não como faço isso!!!

stmt.setString(24, chkApto.isSelected() ? "sim" : "nao");
stmt.setString(25, chkCursoJava.isSelected() ? "sim" : "nao");
stmt.setString(26, chkCursoEletricista.isSelected() ? "sim" : "nao");

Só precisa realizar esta mudança e tranquilo!

[quote=Cesimar] stmt.setString(24, chkApto.isSelected() ? "sim" : "nao"); stmt.setString(25, chkCursoJava.isSelected() ? "sim" : "nao"); stmt.setString(26, chkCursoEletricista.isSelected() ? "sim" : "nao");

Só precisa realizar esta mudança e tranquilo![/quote]

VALEU CARA, MUITO BOM MESMO, MINHA APLICAÇÃO ESTAVA PARADA POR CAUSA DESSES CHECKBOX!!!

VALEU MESMO MUITO BOA AJUDA!!!

Não deixe de fazer por causa disso. Quando precisar, post aqui no GUJ, todos ajudam. Flw!

Valeu…estava também com a duvida… o que seria de mim sem esse post???

Nós tá ai é pra Ajudar!!