Radio Button inserir no banco

Sou novato.
Estou montando um programa que faz várias perguntas e para responder as perguntas, deve selecionar as opções de SIM ou NÃO no botão radio(SWING).
Criei o botão, adicionei o grupo de botões, mas como farei para inserir?

Nome do meus botões ficaram no mesmo padrão abaixo. Cada opção apenas mudei a numeração.

Exemplo:

[code] //Pergunta 1
t01_sim //opção de "sim"
t01_nao//opção de "não"
grupo_botot01// grupo de botões

//Pergunta 2
t02_sim //opção de "sim"
t02_nao//opção de "não"
grupo_botot02// grupo de botões

[/code]
Inseri os campos na tabela da forma abaixo, mas não sei como fazer para inserir as opções do botão.

try {
             Class.forName("com.mysql.jdbc.Driver");
       
          
             Connection con;
        try {
        
             con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/massoterapia","root","1234");
          
             String query = " INSERT INTO tratamento (nome,cpf,BRA_ESQ,BRA_DIR,PER_ESQ,PER_DIR,"
                     + "COXA_ESQ,COXA_DIR,OMBRO_ESQ,OMBRO_DIR,ABDOMEN,CINTURA,"
                     + "QUADRIL,PEITO,DORSAL,GLUTEO,LOMBAR)"+ "VALUE(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 
             
         
             PreparedStatement stmt = con.prepareStatement(query);
            
             stmt.setString(1,campo_nome.getText());//nome
             stmt.setString(2,campo_cpf.getText());//cpf
             stmt.setString(3,campo_bra_esq.getText());//braço esquerdo
             stmt.setString(4,campo_bra_dir.getText());//braço direito
             stmt.setString(5,campo_per_esq.getText());//perna esquerda
             stmt.setString(6,campo_per_dir.getText()); //perna direita
             stmt.setString(7,campo_cox_esq.getText()); //coxa esquerda
             stmt.setString(8,campo_cox_dir.getText()); //coxa direita
             stmt.setString(9,campo_omb_esq.getText()); //ombro esquerdo
             stmt.setString(10,campo_omb_dir.getText());//ombro direito
             stmt.setString(11,campo_abd.getText());//abdomen
             stmt.setString(12,campo_cint.getText());//cintura
             stmt.setString(13,campo_quad.getText());//quadril
             stmt.setString(14,campo_peit.getText());//peito
             stmt.setString(15,campo_dors.getText());//dorsal
             stmt.setString(16,campo_glu.getText());//gluteo
             stmt.setString(17,campo_lomb.getText());//lombar
             
            
             
             stmt.executeUpdate();
             
             stmt.close();
             con.close();
                      
        } catch (SQLException ex) {
              System.out.print("Ocorreu um erro no sql");
           }    
            
        } catch (ClassNotFoundException ex) {
        System.out.print("Não foi possivel encontrar classe");    
        }

Por favor, evite inserir tags inúteis como [Dúvida], [Ajuda].

Você vai fazer um setBooolean.

E vai pegar testar se o Radio de sim está checked:

Outra coisa, você pode usar o nome do campo no setString, ao invés do índice. Além de dispensar seu comentário, evita que você tenha que alterar todo seu caso caso insira um campo na tabela.

stmt.setString("nome",campo_nome.getText()); stmt.setBoolean("pergunta2", chkPergunta2Sim.isSelected());

[quote=ViniGodoy]

stmt.setString("nome",campo_nome.getText()); [/quote]

Obrigado pela recomendação dos campos.
Desculpa a pergunta, mas sobre este codigo onde vc colocou “pergunta2” deverá ser a variavel do banco? e sobre chkPergunta2Sim… devo substitui pela variavel do botao radio?

Segui o padrão que montei e ficou assim, deu certo em parte.

stmt.setBoolean(18, t01_sim.isSelected());

Porém, o valor só vai 0 e 1 pro banco.
Como posso fazer para ir “sim” ou “não”.

Você poderia me deixar um pouco mais claro?

É exatamente isso. Como eu não sabia o nome do seu check nem da sua coluna no banco, tive que improvisar. :slight_smile:

No caso, o fato de ser 0 e 1 vai depender do banco. Você deve configurar no banco que a coluna é boolean. Ainda assim, muitos bancos convencionam valores inteiros para representar um boolean, como 0 e 1. No caso, se você usar o método getBoolean do Java, você receberá sempre um valor como true ou false, ficando indiferente como o banco faz para representar isso. Bancos que usam 0 e 1 também vão suportar as constantes TRUE e FALSE nas queries, então, usar 0 e 1 se torna só um mero detalhe.

[quote=ViniGodoy]É exatamente isso. Como eu não sabia o nome do seu check nem da sua coluna no banco, tive que improvisar. :slight_smile:

No caso, o fato de ser 0 e 1 vai depender do banco. Você deve configurar no banco que a coluna é boolean. Ainda assim, muitos bancos convencionam valores inteiros para representar um boolean, como 0 e 1. No caso, se você usar o método getBoolean do Java, você receberá sempre um valor como true ou false, ficando indiferente como o banco faz para representar isso. Bancos que usam 0 e 1 também vão suportar as constantes TRUE e FALSE nas queries, então, usar 0 e 1 se torna só um mero detalhe.

[/quote]

Obrigado pela ajuda Vini, aprendi muito com você. Abração.