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.
Desde já agradeço. :roll:
Tem como você postar o stacktrace da aplicação aqui?
Estou no serviço agora, esta aplicação e um trab da Faculdade.
Mas tipo assim, não dá erro, mas não funciona, eu vou fazer a consulta e continua como eu cadastrei.
Tem como postar algum código pelo menos? Assim por alto fica complicado de poder até mesmo dar um chute.
Ésta aí!!
estas são as chamadas q estou fazendo na tela…
private void btnFecharActionPerformed(java.awt.event.ActionEvent evt) {
Veiculo v = new Veiculo();
try {
VeiculoDAO vd = new VeiculoDAO('M', v);
} catch (SQLException ex) {
Logger.getLogger(FormLocacao.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(FormLocacao.class.getName()).log(Level.SEVERE, null, ex);
}
this.dispose();
}
@SuppressWarnings("static-access")
private void btnEncerrarActionPerformed(java.awt.event.ActionEvent evt) {
Viagem v = new Viagem(Integer.parseInt(txfCodigo.getText()));
try {
ViagemDAO vd = new ViagemDAO('E', v);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Viagem.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Viagem.class.getName()).log(Level.SEVERE, null, ex);
}
}
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
public VeiculoDAO(char tipo, Veiculo v) throws SQLException, ClassNotFoundException {
if (tipo == 'I') {
this.incluir(v);
} else if (tipo == 'M'){
this.mudarSituacaoVeiculos(v);
}
}
public static boolean mudarSituacaoVeiculos(Veiculo v){
Connection con = Conexao.getConnection();
PreparedStatement pst = null;
try {
String sql = "UPDATE VEICULO SET VEICULO_SITUACAO='D' WHERE VEICULO_CODIGO=veiculo_codigo";
pst = con.prepareStatement(sql);
pst.execute();
return true;
} catch (Exception e) {
System.out.println("Erro: " + e.getMessage());
return false;
} finally {
Conexao.closeAll(con, pst);
}
}
}
Binnho
Novembro 8, 2010, 2:28pm
#6
Tenta dar um commit após as operações para que as mesmas sejam concretizadas.
Como assim Binnho? Fora do try?
Só commit mesmo?
Binnho
Novembro 8, 2010, 2:59pm
#8
Eu estava confundindo um pouco.
tenta usar o metodo executeUpdate(); no lugar de execute();
Binnho
Novembro 8, 2010, 3:02pm
#9
Ou no final do comando (após o execute() coloca con.commit();