Estou com um problema para atualizar a minha tabel, quando eu altero um evento ela é atualizada sem problema, mas quando eu peço para excluir um evento, ele é excluído, mas minha tabela não é atualizada, e esse evento excluído só sai quando eu fecho o form e abro dinovo.
segue os códigos:
[code] private void buttonExcluirMouseClicked(java.awt.event.MouseEvent evt) {
// Excluir um evento (Não esta atualizando a minha tabela)
try{
conexao.stmt.execute("delete from movimentos where codigo = " +fieldCodEvento.getText());
JOptionPane.showMessageDialog(this,“Movimento excluído!”);
chamarEvento(fieldCodFuncionario.getText()); // preenche a minha tabela com os dados do banco
}catch(SQLException e){
e.printStackTrace();
JOptionPane.showMessageDialog(this,"O Movimento não foi excluído!");
}
}
private void buttonOKMouseClicked(java.awt.event.MouseEvent evt) {
// se o fieldQuantidade estiver vazio
if(fieldQuantidade.getText().isEmpty()){
// insere a String 0 no fieldQuantidade
fieldQuantidade.setText("0");
}else{
if(fieldValor.getText().isEmpty()){
// insere a String 0 no fieldValor
fieldValor.setText("0");
}
}
// Alterar o evento (tá funcionando BLZ)
try{
conexao.stmt.executeUpdate("UPDATE movimentos SET "+
"quantidade = '"+fieldQuantidade.getText()+"',"+
"valor = '"+fieldValor.getText()+"'"+
"WHERE codigo = "+fieldCodEvento.getText());
JOptionPane.showMessageDialog(this,"Evento alterado!");
chamarEvento(fieldCodFuncionario.getText()); // preenche a minha tabela com os dados do banco
}catch(SQLException e){
e.printStackTrace();
}[/code]
Vou postar tb o código da classe chamarEvento
[code]// Método usado para chamar todos os eventos de um determinado funcionário
public void chamarEvento(String strCodigo){ // Esse método recebe um parametro para ser usado como o código do funcionário a ser pesquisado
// o objeto do tipo JTextField recebe a variavel do parametro do método
fieldCodigo.setText(strCodigo);
try{
/* Essa query seleciona todos os eventos da tabela movimento que tenha o código do funcionário desejado
e passa esses dados para a variavel de referencia conexao.rs */
conexao.rs = conexao.stmt.executeQuery("SELECT movimentos.registro,movimentos.nome,movimentos.codigo,movimentos.descrincao, movimentos.quantidade, movimentos.valor" +
" FROM movimentos,funcionarios WHERE funcionarios.registro = movimentos.registro AND funcionarios.registro = '"+fieldCodigo.getText()+"'");
// representa a linha da tabela
int linha = 0;
// enquanto a houver um próximo registro
while (conexao.rs.next()) {
fieldCodFuncionario.setText(conexao.rs.getString("registro"));
fieldNomeDoFuncionario.setText(conexao.rs.getString("nome"));
// tabela recebe o código do movimento
tabelEventoFunc.setValueAt(conexao.rs.getString("codigo"), linha, 0);
// tabela recebe o registro do funcionário
tabelEventoFunc.setValueAt(conexao.rs.getString("descrincao"), linha, 1);
// tabela recebe o nome do funcionario
tabelEventoFunc.setValueAt(conexao.rs.getString("quantidade"), linha, 2);
// tabela recebe o nome do funcionario
tabelEventoFunc.setValueAt(conexao.rs.getString("valor"), linha, 3);
// linha recebe 1 (para simular a próxima linha)
linha++;
}
conexao.rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}[/code]