Problema muito estranho com Delphi 6 ou 7 e Interbase 6

Delphi

11/06/2004

Sou um programador iniciante no mundo delphi e estou com um problema muito estranho: Tenho um pequeno programinha mixuruca de cadastro usando interbase 6 com os controles IBX no delphi 7. Quando eu insiro um novo registro, preencho todos os campos e salvo (tabela.post), tudo funciona, mas se eu preencho só o primeiro campo, do um post, depois preencho os demais e dou outro post, não salva, fica só o primeiro campo gravado, os demais não gravam. isso continua acontecendo mesmo depois de dar refresh. Só volta ao normal depois de sair da tabela e entrar novamente, ou indo para o último registro e voltando ao primeiro.
Detalhe: se já houver registros, eu posso alterálos normalmente e salvá-los que não dá problema.

Preciso resolver esse problema com uma certa urgência porque [b:754ef96e3d]todas as janelas de cadastro para meus programas que eu fiz até hoje e já estão com os clientes devem estar com o mesmo bug.[/b:754ef96e3d] Eu não tinha percebido isso antes porque sempre preencho todos os campos antes de salvar, nos meus testes.

o meu ibTransaction está ativado o read_commited. O que eu faço?


Grato desde Já ^_^ :shock:


Vitor Rubio

Vitor Rubio

Curtidas 0

Respostas

Wagnerps

Wagnerps

11/06/2004

tenta isso
após
tabela.Post;

coloque
tabela.ApplyUpdates;


Falow,

espero que ajude.


GOSTEI 0
Vitor Rubio

Vitor Rubio

11/06/2004

Desculpe, mas não ajudou, além de eu ter que habilitar o cash updates, continuo com o mesmo problema. abaixo vai o código da procedure Salvar() para ver se tem alguma coisa de errado.

book := tabela.Bookmark; //variavel global
tabela.ApplyUpdates;
trans.CommitRetaining;
//tabela.Refresh;

antes de chamar essa procedure eu verifico se tabela.state in [dsinsert, dsedit] e depois de salvar, eu restauro o bookmark e dou um tabela.edit


Se vc tiver mais alguma sugestão.....


GOSTEI 0
POSTAR