Boa tarde,
Estou com o seguinte problema.
Eu pego os dados de uma tabela do banco de dados e listo na JTable. //Até ai tudo bem
Então altero os dados nos campos da JTable e Aperto no botão “salvar”, o qual se encarrega de fazer o Update de todas as linhas da Jtable para a tabela
do banco de dados, mas por algum motivo que eu desconheço não funciona, ele não altera/atualiza/update os dados da tabela.
public void alteraNoBanco(){
try {
Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:system/[email protected]:1521/XE";
conn = DriverManager.getConnection(url);
try{
String sql = "update atendimento set solicitante = ?, departamento = ?, dataSolicitacao = ?, solicitacao = ?, caracteristica = ?, dataAtendimento = ?, solucao = ?, atendente = ? where chamado = ?";
String sqlCont = "select * from atendimento";
PreparedStatement ps = conn.prepareStatement(sql);
PreparedStatement cont = conn.prepareStatement(sqlCont);
ResultSet rs = cont.executeQuery();
int numeroChamados=0;
while(rs.next()){
numeroChamados = rs.getInt("chamado");
}
int linha=0;
for(linha=0; linha<numeroChamados;linha++){
ps.setObject(1, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 1));
ps.setObject(2, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 2));
ps.setObject(3, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 3));
ps.setObject(4, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 4));
ps.setObject(5, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 5));
ps.setObject(6, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 6));
ps.setObject(7, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 7));
ps.setObject(8, tbAtendimentoAlteraRegistro.getModel().getValueAt(linha, 8));
ps.setObject(9, linha);
ps.executeUpdate();
}
JOptionPane.showMessageDialog(null, "Registro alterado");
} finally{
conn.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Mais algumas informações:
O código não gera Erro nenhum, e a coluna 0(ZERO) não é Setada pois é a coluna de Código, esta nunca ira ser alterada.
ONDE ESTOU ERRANDO?
Obrigado.
