Desfazer Operações
Gostaria de saber como faço para desfazer várias operações efetuadas em um ou mais bancos de dados.
Por exemplo: inclui e excluir registros em algumas tabelas, só que antes de finalizar toda operação ocorreu algum problemas que não permitiu que todo o processo fosse realizado. Assim preciso retornar todas as modificações que foram feitas dentro da rotina.
Por exemplo: inclui e excluir registros em algumas tabelas, só que antes de finalizar toda operação ocorreu algum problemas que não permitiu que todo o processo fosse realizado. Assim preciso retornar todas as modificações que foram feitas dentro da rotina.
Drogao
Curtidas 0
Respostas
Brnz
12/11/2003
Usando componentes Database use o comando StartTransaction...
execute as funções... se ocorrer corretamente use o comando Commit
se não... Rollback
execute as funções... se ocorrer corretamente use o comando Commit
se não... Rollback
GOSTEI 0
Fava
12/11/2003
Isso vai depender do banco de dados que você está utilizando, se for interbase/mysql/db2/oracle (bancos relacionais) isso é muito simples, basta você trabalhar com transações. Inicie uma transação (start transaction) e realize todas operações (pode ter mais que uma tabela envolvida) e finalize com um COMMIT se der tudo certo ou com um ROLLBACK se der algo errado.
Procure algum material sobre transações, esse é o caminho para resolver este problema.
http://www.delphi.eti.br/delphi/apostilas/banco_de_dados/Transac¬20.zip
Procure algum material sobre transações, esse é o caminho para resolver este problema.
http://www.delphi.eti.br/delphi/apostilas/banco_de_dados/Transac¬20.zip
GOSTEI 0