Ao inserir o registro pela aplicação o mesmo duplica o registro e gera um novo código.O que fazer para corrigir?
Criei uma aplicação em Delphi usando firedac,banco de dados firebird 2.5,a regra e simples um controle financeiro de creditos e debitos,ao fazer um ou mais lançamentos simultâneos, o registro duplica toda a linha e gera um novo código, ou seja como se houvesse sido lançados dois valores,estou usando generator criado pelo firebird.Por favor me ajudem.
Multsoft
Curtidas 0
Respostas
Marcos P
28/05/2015
Comece com :
1. Faça um insert diretamente no banco...
2. Se o registro duplicar, o problema é no generator do banco.
3. Se o registro não duplicar, o problema é no seu código Delphi.
1. Faça um insert diretamente no banco...
2. Se o registro duplicar, o problema é no generator do banco.
3. Se o registro não duplicar, o problema é no seu código Delphi.
GOSTEI 0
Multsoft
28/05/2015
Ja fiz este teste e pelo banco gera normalmente.
GOSTEI 0
Marcos P
28/05/2015
Poste seu código, do lado da aplicação, que efetua a inserção desses registros...
GOSTEI 0
Multsoft
28/05/2015
Boa tarde verifiquei que o problema esta no applayupdates,pois a cada vez que eu salvo gerava um registro,e se fizer outro lançamento sem finalizar o programa o primeiro lançamento e duplicado.
GOSTEI 0
Multsoft
28/05/2015
procedure Tfrm_main.btn_salvarClick(Sender: TObject);
begin
if
dm.qry_movimentoMOV_DESC.IsNull then begin
ShowMessage('Identifique a Descrição do Lançamento');
edt_desc.SetFocus;
exit;
end;
dm.qry_movimento.post;
atu_controles;
dm.qry_movimento.ApplyUpdates(0);
end;
begin
if
dm.qry_movimentoMOV_DESC.IsNull then begin
ShowMessage('Identifique a Descrição do Lançamento');
edt_desc.SetFocus;
exit;
end;
dm.qry_movimento.post;
atu_controles;
dm.qry_movimento.ApplyUpdates(0);
end;
GOSTEI 0
Marcos P
28/05/2015
... verifiquei que o problema esta no applayupdates,pois a cada vez que eu salvo gerava um registro...
Mas você resolveu o problema ?
GOSTEI 0
Multsoft
28/05/2015
nao resolveu pois ficou salvando fora do tempo de execução
GOSTEI 0