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?