Executar cadastro e update no mesmo metodo

1 resposta
D

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?

1 Resposta

Henrique_Moraes

Quando for postar seus códigos coloque [ code ] no início do seu código e [ /code ] no final. Ficará mais mais legível.

verifique qual o valor do parÂmetro que está sendo passado em vendas.getId()

Verifique se existe esse código cadastrado no banco de dados.

Criado 15 de maio de 2013
Ultima resposta 15 de mai. de 2013
Respostas 1
Participantes 2