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

PostgreSQL

Banco de Dados

CRUD - Delphi

18/10/2019

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
Rafael Mello

Rafael Mello

Curtidas 0

Respostas

Rodrigo Mendes

Rodrigo Mendes

18/10/2019

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

Ricardo Araujo

18/10/2019

Bom dia,

Poderia adicionar a instrução SQL que esta usando ?
GOSTEI 0
POSTAR