Delphi + Zeos. Insert está sendo atualizado na base com 1 post de atraso.

18/10/2019

8

Boa tarde pessoal,

Estou utilizando Delphi 2010 + Zeos para inserir meus dados em uma base Postgres.
Basicamente utilizo ZConenction + ZQuery + ZUpedateSQL.
Adiciono a instrução de insert no componente, abro uma transação, executo o ApplyUpdates no ZQuery e depois commito a transação.

Quando vou verificar na base de dados, o registro não aperece, mas se eu insiro um próximo registro, aquele anterior que eu havia inserido antes deste aparece.
Já aconteceu esse cenário comigo outra vez, mas eu não me lembro como resolvi.

O cenário na verdade é um pouco mais delicado.
Na verdade eu tenho 2 tabelas envolvidas, uma Header e outro Detail, no qual a detail recebe o id da header, nada de incomum.

Eu tenho ZUpdateSQL e ZQuery um para cada ZQuery.
O registro header é inserido na base normalmente, porém o detail acontece o que eu relatei acima. Ex:

# Header
- ID = 1
- Descricao = ''''TESTE''''

# Detail
ID = 1
ID_Header = 1

No postgres, só aparece o registro d Header, mas se insiro outro registro como o de cima, acontece o seguinte:

# Header =
-ID = 2
- Descricao = ''''TESTE2''''

# Detail
ID = 2
ID_header = 1

Note que ele pegou o ID do primeiro insert, não executando o segundo insert no momento em que eu inseri o primeiro Header.

Alguém tem ideia de como posso debugar isso pra tentar achar o problema?
Um grande abraço a todos
Responder

Posts

12/11/2019

Rodrigo

Olá Rafael,
Você pode passar o código que faz a inserção na tabela?
Responder

13/11/2019

Ricardo Araujo

Bom dia,

Poderia adicionar a instrução SQL que esta usando ?
Responder