Fórum Rollback no delphi. #211805
05/02/2004
0
Eu tenho uma aplicação onde eu tenho pedidos e itens do pedido.
eu uso o BDE para comunicação com banco oracle.
o estranho é que eu lanço os itens do pedido eu dou somente applyupdates para cada item que lanço..Só que parece que está dando um commit no banco.
Então se dá um commit eu nao tenho como dar um Rollback nessa transação..Obs.:se eu realizo essa tarefa direto no banco funciona perfeitamente.
Alguém já passou por essa situação??
eu uso o BDE para comunicação com banco oracle.
o estranho é que eu lanço os itens do pedido eu dou somente applyupdates para cada item que lanço..Só que parece que está dando um commit no banco.
Então se dá um commit eu nao tenho como dar um Rollback nessa transação..Obs.:se eu realizo essa tarefa direto no banco funciona perfeitamente.
Alguém já passou por essa situação??
Luiz Rodrigo
Curtir tópico
+ 0
Responder
Posts
05/02/2004
Rodolpho123
Olá amigo,
Bem, vc está dando um ApplyUpdates na Table ou no DataBase? Vc está usando Query ou Table? Se vc estiver usando Query junto com UpdateSQL, estas alterações são feitas em um cache local e só vai atualizar o BD se vc aplicar um ApplyUpdates pelo DataBase, pois ele vai abrir uma transação, gravar e se não houver erros, confirmar a transação (Commit). Caso exista erro durante a gravação, o método Rollback é chamado. E se vc chamar o método CancelUpdates pelo DataBase, ele limpa as alterações no cache local, deixando o BD intacto. Mas se vc usar o método ApllyUpdates pela Query, lembre-se de Iniciar uma transação pelo Database e no final, confirmar(commit) ou desistir(rollback).
Espero tê-lo ajudado.
Abraços...........!
Bem, vc está dando um ApplyUpdates na Table ou no DataBase? Vc está usando Query ou Table? Se vc estiver usando Query junto com UpdateSQL, estas alterações são feitas em um cache local e só vai atualizar o BD se vc aplicar um ApplyUpdates pelo DataBase, pois ele vai abrir uma transação, gravar e se não houver erros, confirmar a transação (Commit). Caso exista erro durante a gravação, o método Rollback é chamado. E se vc chamar o método CancelUpdates pelo DataBase, ele limpa as alterações no cache local, deixando o BD intacto. Mas se vc usar o método ApllyUpdates pela Query, lembre-se de Iniciar uma transação pelo Database e no final, confirmar(commit) ou desistir(rollback).
Espero tê-lo ajudado.
Abraços...........!
Responder
Gostei + 0
05/02/2004
Rodolpho123
Olá amigo,
Bem, vc está dando um ApplyUpdates na Table ou no DataBase? Vc está usando Query ou Table? Se vc estiver usando Query junto com UpdateSQL, estas alterações são feitas em um cache local e só vai atualizar o BD se vc aplicar um ApplyUpdates pelo DataBase, pois ele vai abrir uma transação, gravar e se não houver erros, confirmar a transação (Commit). Caso exista erro durante a gravação, o método Rollback é chamado. E se vc chamar o método CancelUpdates pelo DataBase, ele limpa as alterações no cache local, deixando o BD intacto. Mas se vc usar o método ApllyUpdates pela Query, lembre-se de Iniciar uma transação pelo Database e no final, confirmar(commit) ou desistir(rollback).
Espero tê-lo ajudado.
Abraços...........!
Bem, vc está dando um ApplyUpdates na Table ou no DataBase? Vc está usando Query ou Table? Se vc estiver usando Query junto com UpdateSQL, estas alterações são feitas em um cache local e só vai atualizar o BD se vc aplicar um ApplyUpdates pelo DataBase, pois ele vai abrir uma transação, gravar e se não houver erros, confirmar a transação (Commit). Caso exista erro durante a gravação, o método Rollback é chamado. E se vc chamar o método CancelUpdates pelo DataBase, ele limpa as alterações no cache local, deixando o BD intacto. Mas se vc usar o método ApllyUpdates pela Query, lembre-se de Iniciar uma transação pelo Database e no final, confirmar(commit) ou desistir(rollback).
Espero tê-lo ajudado.
Abraços...........!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)