Postgres 9.6 + Zeos + Delphi XE8 + Transaction
14/02/2017
0
Bom dia pessoal,
Andei pesquisando mas não achei uma solução ou problema parecido.
Estou desenvolvendo um sistema e uso muitas transações. Estou tendo problemas com Commit e Rollbacks.
Resumindo, para cada cadastro que eu começo eu inicio as transaçõesmanualmente dando um ZConnection.StartTransaction e commito com um Zconnection.Commit.
Bom até ai tudo ok. mas uma situação é o seguinte.
Inicio uma Venda -- StartTransaction
Não tenho o cliente cadastrado. Na tela de vendas eu consigo chamar o form de cadastro e cadastrar o cliente. então vai outro StartTransaction.
Finalizo o cadastro do Cliente - Commit.
Os dados do cliente deveria esta na base depois disso correto? Pois então, não acontece.
Finalizo a Venda - Commit; - Ai sim todos os dados vao para o banco incluindo o cadastro do cliente. Caso eu desista da venda e clico em cancelar, o cadastro do cliente não vai pro banco tb.
Resumindo, se eu iniciei uma transação, não consigo iniciar outra transação dentro dessa. é como se não existisse a segunda transação.
Existe uma solução para isso, alguém tem um exemplo ai ou faz diferente?
Andei pesquisando mas não achei uma solução ou problema parecido.
Estou desenvolvendo um sistema e uso muitas transações. Estou tendo problemas com Commit e Rollbacks.
Resumindo, para cada cadastro que eu começo eu inicio as transaçõesmanualmente dando um ZConnection.StartTransaction e commito com um Zconnection.Commit.
Bom até ai tudo ok. mas uma situação é o seguinte.
Inicio uma Venda -- StartTransaction
Não tenho o cliente cadastrado. Na tela de vendas eu consigo chamar o form de cadastro e cadastrar o cliente. então vai outro StartTransaction.
Finalizo o cadastro do Cliente - Commit.
Os dados do cliente deveria esta na base depois disso correto? Pois então, não acontece.
Finalizo a Venda - Commit; - Ai sim todos os dados vao para o banco incluindo o cadastro do cliente. Caso eu desista da venda e clico em cancelar, o cadastro do cliente não vai pro banco tb.
Resumindo, se eu iniciei uma transação, não consigo iniciar outra transação dentro dessa. é como se não existisse a segunda transação.
Existe uma solução para isso, alguém tem um exemplo ai ou faz diferente?
Casa
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)