Rollback no delphi.
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
Curtidas 0
Respostas
Rodolpho123
05/02/2004
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...........!
GOSTEI 0
Rodolpho123
05/02/2004
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...........!
GOSTEI 0