Controle de Transação com ADO??
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)
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
Curtidas 0
Respostas
Cac2000
25/04/2003
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...
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...
GOSTEI 0