Fórum Controle de Transação com ADO?? #155835

25/04/2003

0

Preciso fazer um controle de transação complicado.

Versão : Delphi 5
Banco : My Sql
Componente : ADO


É o seguinte:


Estou trabalhando em uma manutenção que movimenta 4 tabelas além de uma principal.

Exemplo:


Tabelas
OCORRENCIA (Principal)

Ocorrencia_SIMPLES
Ocorrencia_INTERNA
Ocorrencia_EXTERNA
Ocorrencia_URGENTE

Estarão amarradas pelo código.


Quando inicio o processo preencho os dados da ocorrência principal e dependendo da ocorrência vou alimentar uma determinada tabela.

Já que vou trabalhar com telas diferente como posso fazer um controle de transação envolvendo todo o processo?

Lembrando que pode haver várias ocorrências simples para uma única ocorrência principal.

è como se fosse uma tabela de Pedido + Itens do Pedido, só que com 4 tabelas.

Serão 10 usuários acessando a mesma base.


Algúem pode me dar uma idéia, pelo menos uma idéia


Agradeço desde já.


Marcone Maciel Barros (marcone.barros@terra.com.br)


Mmbarros

Mmbarros

Responder

Posts

26/04/2003

Cac2000

Uma regra essencial quase se usa Controles de Transações é que o tempo que a transação vai ficar aberta deve ser o menor possível. Isso vale dizer que você não pode abrir uma transação, depois deixar o usuário abrir uma tela e só fechar o usuário acionar o botão de Salvar. E se o usuário foi tomar um cafezinho enquanto a tela estiver aberta? Os que estão querendo trabalhar vão ter que ficar esperando o fulano voltar do café....

Já que vc usa ADO, vc pode usar o LockType do DataSet no modo BatchOptmistic e ir dando Post a vontade. Os dados não serão gravados na base. Aí você abre uma transação e use ApplyUpdates para cada DataSet, e depois um Commit (ou Rollback se houverem erros) para fechar a transação.

Não sei se ajudei, tenta aí e me responde...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar