Cancelar alterções no banco de dados

Delphi

16/05/2005

Por favor, alguem ae sabe se tem como, depois acabar de gravar as alterações numa tabela, cancelar as mesmas voltando ao que tava?

VLW


Sérgio Gobbo

Sérgio Gobbo

Curtidas 0

Respostas

Edilcimar

Edilcimar

16/05/2005

quando há um erro durante a gravação você poderá dar um rollback para voltar ao estado anterior, porém após a tabela gravada (com finalização da transação) só se você tiver gravado em uma outra tabela todas as mudanças efetuadas e depois seleciona aquela que deseja desfazer


GOSTEI 0
Daniel Martins

Daniel Martins

16/05/2005

na edição Nº56 da revista Clube delphi tem um exemplo bom de Como aplicar alterações e cancela-las.. da uma olhada na página 24...


GOSTEI 0
Marco Salles

Marco Salles

16/05/2005

Se voce tiver trabalhando com um servidor Sql ou com um arquivos de banco Dados Locais , poderá usa a idéia de Transações... A idéia de Transações pode ser descrita como uma série de operações a ser considerada como uma unica transação atomica que não pode ser dividida

Mas para isto funcionar bem , voce deve incluir um componete DataBase em um formulário ou em em um Módulo de Dados

O Componente DataBase e o quinto elemento na Paleta Data Acess

:arrow: De um nome pára este DataBase.. Propriedade DataBaseName

:arrow: Na opção Aliase Escolha o Aliase do Banco... Se Não me falha a memória , isto so funciona , se o Aliase for criado.. Acho que Não basta
Escrever o Caminho :cry: :cry: [b:45b9de954f]Mas isto eu Acho[/b:45b9de954f]

:arrow: Voce deve agora conectar cada Tabela a este componente DataBase. :arrow: Propriedade DataBase , onde se escolhe o Caminho , Aliase agora deve apontar para este Componente DataBase

Feito isto agora é moleza

Em pontos Chaves de seu aplicativo execute

Database1.StartTransaction; //Marca o início de uma transação
Database1.Commit;  //confirma todas as atualizaçoes feitas no banco de Dados durante a transação
Database1.Rollback; //Retorna o Banco de Dados ao seu Estado anterior ao Inicio da Transação
if Database1.InTransaction Then Testa o estado da transação


etc...

Qualquer dúvida post


GOSTEI 0
POSTAR