Boa noite, pessoal!
Estou com uma dúvida para atualizar um campo de um banco de dados mysql com quatro campos:
ndc
saldo
venda
saldoFinal
public void confirmaVenda(DadosDaVenda venda) throws SQLException {
String sql = "update saldo set venda=? where ndc=4";
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setDouble(1, venda.getVenda());
stmt.execute();
stmt.close();
}
public void atualizaSaldo(DadosDaVenda novoSaldo) throws SQLException {
String sql = "UPDATE saldo SET saldoFinal = (SELECT SUM(saldo - venda) FROM saldo WHERE ndc=4) FROM saldo";
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setDouble(1, novoSaldo.getSaldoFinal());
stmt.execute();
stmt.close();
}
try {
// TODO add your handling code here:
DadosDaVenda dv1 = new DadosDaVenda();
dv1.setVenda(Double.parseDouble(venda.getText()));
VendaDAO dao = new VendaDAO();
dao.confirmaVenda(dv1);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "ERRO");
}
JOptionPane.showMessageDialog(null, "OK");
System.exit(1);
DadosDaVenda ns = new DadosDaVenda();
ns.getSaldoFinal();
O valor da venda é registrado corretamente, mas o saldo final fica como nulo no banco. O que estou fazendo de errado?
Obrigado pela ajuda!