não consigo atualizar

Estou desenvolvendo um aplicativo para desktop no netbeans

criei esta tabela


private void atualizarTabela() {
        
        try {
            ArrayList<Aluno> alunos = alunoDAO.buscarTodosAlunos();
            String[] colunas = new String[]{"Nome", "Codigo"};
            Object[][] dados = new Object[alunos.size()][2];
            for (int i = 0; i < alunos.size(); i++) {
                Aluno aluno = alunos.get(i);

                dados[i][0] = aluno.getNome();
                dados[i][1] = aluno.getCodigo();
              
            }

            DefaultTableModel dataModel = new DefaultTableModel(dados, colunas);
            Tabela.setModel(dataModel);

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(this, "Erro " + ex.getMessage());
        }

        Tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    }

E quero que o usuario selecione uma linha da tabela, escolha uma opção(selecionar um radioButton “sim” ou “não”) e clicki no botão atualizar, quando o usuario fizer isso vai ficar cadastrado no banco se o aluno participou ou não as aulas.

para isso criei este metodo na classe AlunoDAO

  public void atualizarAlunoPorAula(Aluno aluno) throws SQLException {
       String sql =  "UPDATE aluno SET  jafezaulateorica=?";
       PreparedStatement smt = conexao.pegarConexao().prepareStatement(sql);
       smt.setBoolean(1, aluno.getJaFezAulaTeorica());

         smt.execute();
         smt.close();
        
    }

E na classe onde esta a tabela criei este


 aluno.setJaFezAulaTeorica(!nao.isSelected());
            try {
                alunoDAO.atualizarAlunoPorAula(aluno);
            } catch (SQLException ex) {
                Logger.getLogger(Controledealunos.class.getName()).log(Level.SEVERE, null, ex);
            }


Mas esse metodo atualiza todos os alunos, e eu quero apenas o selecionado na tabela, alguem pode me ajudar?

Daianne,

Em String sql = “UPDATE aluno SET jafezaulateorica=?”, você esqueceu da cláusula opcional WHERE na SQL.

Como ficaria esta String?

um exemplo de sintaxe: UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value
[]'s

ezte é o meu botão atualizar, i quando é clicado ocorre este erro:Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “MARIA SOUZA FILHA”

 private void BInserirActionPerformed(java.awt.event.ActionEvent evt) {                                         
     if (!Tabela.getRowSelectionAllowed()) {
          JOptionPane.showMessageDialog(null, "Erro ao selecionar dados da tabela!");
      }else{
          aluno.setJaFezAulaTeorica(!nao.isSelected());
      int cod_aluno = Integer.parseInt(Tabela.getValueAt(Tabela.getSelectedRow(), 0).toString());
                  aluno.setCodigo(cod_aluno);
            try {
                alunoDAO.atualizarAlunoPorAula(aluno);

            } catch (SQLException ex) {
                Logger.getLogger(Controledealunos.class.getName()).log(Level.SEVERE, null, ex);
            }

      }
      



}