Postgres 9.6 + Zeos + Delphi XE8 + Transaction

PostgreSQL

Delphi

14/02/2017

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?
Casa

Casa

Curtidas 0
POSTAR