Bom dia senhores, estou precisando executar um metodo de cadastro e que quando esse cadastro seja feito ja altera uma coluna de “capacidade” em outra tabela.
ex: um torcedor compra um ingresso, automaticamente ja diminui 1 da capacidade do estadio.
meus codigos estão assim:
No DAO:
public void adiciona(Vendas vendas) {
String sql = “insert into vendas " +
”(id_torcedor,id_estadio,id_ingresso)" +
" values (?,?,?)";
try {
// prepared statement para inserção
PreparedStatement stmt = connection.prepareStatement(sql);
// seta os valores
stmt.setInt(1,vendas.getId_torcedor());
stmt.setInt(2,vendas.getId_estadio());
stmt.setInt(3,vendas.getId_ingresso());
// executa
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public boolean diminui_ingresso(Vendas vendas){
try {
PreparedStatement stmt = connection.prepareStatement("update estadio set capacidade= capacidade -1 where id=?");
stmt.setLong(1, vendas.getId());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return true;
}
e no SERVLET:
if (metodo.equals(“cadastrar”)){
//Pegando os parametros do request
int id_torcedor = Integer.parseInt(request.getParameter(“id_torcedor”));
int id_estadio = Integer.parseInt(request.getParameter(“id_estadio”));
int id_ingresso = Integer.parseInt(request.getParameter(“id_ingresso”));
//Monta um objeto contato
Vendas vendas = new Vendas();
vendas.setId_torcedor(id_torcedor);
vendas.setId_estadio(id_estadio);
vendas.setId_ingresso(id_ingresso);
//Grave nessa conexão!!!
VendasDao dao = new VendasDao();
dao.adiciona(vendas);
//inserir metodo remover 1 da capacidade do estadio
dao.diminui_ingresso(vendas);
porem não funciona…alguma ajuda?