Desfazer Operações

Delphi

12/11/2003

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.


Drogao

Drogao

Curtidas 0

Respostas

Brnz

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


GOSTEI 0
Fava

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


GOSTEI 0
POSTAR