Como executar StoredProcedures no modelo Multicamadas?

Delphi

24/05/2005

Fala pessoal...gostaria de tirar uma dúvida com vcs:

como faço para executar StoredProcedures no modelo Multicamadas?...Iniciar a transação...comitá-la e, caso dê algum erro, dar um rollback ?....

vlwww pessoal!!!

Marcelo


Tchelllo

Tchelllo

Curtidas 0

Respostas

Motta

Motta

24/05/2005

Transacão em tese só se aplica quando há varias ataulizações dependentes que só podem ser feitas em bloco , tudo ou nada.

Eu porém uso sempre, pois fica mais fácil dar manutenção depois caso venha a ser preciso.

O fato de ser 2/3 camadas não ter a ver com o uso de transação ao meu ver.


GOSTEI 0
Tchelllo

Tchelllo

24/05/2005

Caro Motta,

não entendi o que vc quis dizer com isso:

´ O fato de ser 2/3 camadas não ter a ver com o uso de transação ao meu ver.´

O que quero na verdade, é ter um controle das transações que abro através da minha aplicação, e não deixar nas ´mãos´ da Midas. Quero isso, pois tenho procedures armazenadas no banco que, ao serem executadas, encadeiam, realizam inserções e atualizações em diversas tabelas do banco. Se algo der errado no início, meio ou fim do caminho, queria dar um Rollback nas alterações anteriores, mantendo o banco livre de informações inconsistentes. Só não sei como devo proceder para ter esse controle numa aplicação multicamadas.

Marcelo


GOSTEI 0
Rjun

Rjun

24/05/2005

Acredito que o controle de transações deva ficar na stored procedure e não na aplicação.


GOSTEI 0
Tchelllo

Tchelllo

24/05/2005

Utilizo Firebird 1.5.1, como faço para iniciar e comitar transações ?


GOSTEI 0
Motta

Motta

24/05/2005

Acredito que o controle de transações deva ficar na stored procedure e não na aplicação.


Discordo, prefiro fazer o controle do tipo : quem chama ´commita´ ou ´roubeca´.

roubeca é ótimo ...

Mas sério, acho mais simples ter o controle na aplicação chamadora, pois além de uma SP vc pode precisar fazer algum update ou até chamar outra SP.

Chamando do Delphi , vc usa o método Commit do database (depende de qual classe for) , o drive se encarrega de traduzir o comando.


GOSTEI 0
POSTAR