Dúvida na hora de excluir um registro e fazer update
8 respostas
D
diego_silva
Bom dia galera
o problema é o seguinte, estou fazendo uma aplicação para um controle de Viagens onde uma das telas que encerrar a viagem quando eu clicar no botão encerrar Viagem, ele automaticamente terá que excluir o registro na tabela viagem e fazer um update mudando a situação do veículo para Disponível, só que não estou conseguindo excluir e nem fazer o update, tipo não dá erro, mas não faz as alterações nas tabelas, eu faço a pesquisa e os dados continuam lá, se alguém puder dar uma luz.
estes são os métodos o primeiro esta dentro da classe ViagemDAO
public ViagemDAO(char tipo, Viagem v) throws SQLException, ClassNotFoundException {
if (tipo == 'I') {
this.incluir(v);
} else if ( tipo == 'E') {
this.FecharViagem(v);
}
}
public static void FecharViagem(Viagem v) throws SQLException {
Connection con = Conexao.getConnection();
PreparedStatement pst = null;
String sql = "delete from viagem where viagem_codigo = ?";
pst = con.prepareStatement(sql);
pst.setInt(1, v.getCodigo());
pst.execute();
}
segundo dentro da classe VeiculoDAO
publicVeiculoDAO(chartipo,Veiculov)throwsSQLException,ClassNotFoundException{if(tipo=='I'){this.incluir(v);}elseif(tipo=='M'){this.mudarSituacaoVeiculos(v);}}publicstaticbooleanmudarSituacaoVeiculos(Veiculov){Connectioncon=Conexao.getConnection();PreparedStatementpst=null;try{Stringsql="UPDATE VEICULO SET VEICULO_SITUACAO='D' WHERE VEICULO_CODIGO=veiculo_codigo";pst=con.prepareStatement(sql);pst.execute();returntrue;}catch(Exceptione){System.out.println("Erro: "+e.getMessage());returnfalse;}finally{Conexao.closeAll(con,pst);}}}
B
Binnho
Tenta dar um commit após as operações para que as mesmas sejam concretizadas.
D
diego_silva
Como assim Binnho? Fora do try?
Só commit mesmo?
B
Binnho
Eu estava confundindo um pouco.
tenta usar o metodo executeUpdate(); no lugar de execute();
B
Binnho
Ou no final do comando (após o execute() coloca con.commit();