Pois é, já havia feito desta maneira mas continua não gravando em banco.

 

Estou fazendo desta forma:

 

procedure TfrmDigitalizaTCM.AdvGlassButton1Click(Sender: TObject);

begin

  btnSalvarTCM.Click;

  DM.cds_TCM_A.Open;

  Try

    For  Docs := 1 to StrToInt(QtdPag.Text) do

    begin

      DM.cds_TCM_A.Insert;

      DM.cds_TCM_ACODIGO_ENTIDADE.Text:=CodMunicipio.Text;

      DM.cds_TCM_ACOD_UNID_ADMINISTRATIVA.Text:=DBText1.Caption;

      DM.cds_TCM_ASIGLA_DOCUMENTO.Text:=TipoDoc.Text;

      DM.cds_TCM_AEXERCICIO.Text:=DBEdit1.Text;

      DM.cds_TCM_AUNIDADE_GESTORA.Text:=DBText2.Caption;

      DM.cds_TCM_A.Post;

    end;

  finally

    DM.cds_TCM_A.ApplyUpdates(0);  

    ShowMessage('Inicie a digitalização de "'+QtdPag.Text+'" página(s) do
documento:'+#13+'"'+RxDBLookupCombo1.Text+'"');

  end;

end;

 

Abraços.

 

Ralp Alves

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Rubem Nascimento da Rocha
Enviada em: sexta-feira, 12 de março de 2010 16:01
Para: delphi-br
Assunto: RE: [delphi-br] Duplicar registro no firebird
Prioridade: Alta

 

  


Faça o posto para cada registro criado, e ao final use ApplyUdpates(0). Com
ApplyUpdates(-1), se houverem erros, os mesmos não serão notificados à
aplicação.

Sds.


To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> 
From: ral...@gmail.com <mailto:ralprd%40gmail.com> 
Date: Fri, 12 Mar 2010 07:20:01 -0300
Subject: [delphi-br] Duplicar registro no firebird

Bom dia.

Venho mais uma vez, pedir a ajuda dos nobres colegas.

Tenho um sistema em Delphi 7 e Firebird 2.1 para digitalização de documentos
com duas tabelas devidamente ligadas (master detail).

Existe um campo chamado QtdPag (Edit) onde o usuário vai informar a
quantidade de documentos a digitalizar.

Com base nesta quantidade digitada, queria que fosse gravado em banco a
quantidade de registros informado no campo QtdPag.

Na verdade, os registros seriam duplicados e salvos em banco de acordo com a
quantidade informada.

Estou tentando desta maneira abaixo:

procedure TfrmDigitalizaTCM.AdvGlassButton1Click(Sender: TObject);

begin

btnSalvarTCM.Click;

DM.cds_TCM_A.Open;

Try

For Docs := 1 to StrToInt(QtdPag.Text) do

begin

DM.cds_TCM_A.Insert;

DM.cds_TCM_ACODIGO_ENTIDADE.Text:=CodMunicipio.Text;

DM.cds_TCM_ACOD_UNID_ADMINISTRATIVA.Text:=DBText1.Caption;

DM.cds_TCM_ASIGLA_DOCUMENTO.Text:=TipoDoc.Text;

DM.cds_TCM_AEXERCICIO.Text:=DBEdit1.Text;

DM.cds_TCM_AUNIDADE_GESTORA.Text:=DBText2.Caption;

DM.cds_TCM_A.Post;

DM.cds_TCM_A.ApplyUpdates(-1);

end;

finally

ShowMessage('Inicie a digitalização de "'+QtdPag.Text+'" página(s) do
documento:'+#13+'"'+RxDBLookupCombo1.Text+'"');

end;

end;

Porém, se informar 5 no campo QtdPag é mostrado no dbgrid os 5 registros,
mas no banco é gravado somente 1 registro. 

Como poderia resolver este problema?

Abraços.

Ralp Alves Bezerra


__________________________________________________________
Não deixe rastros ao navegar na Internet. Instale Grátis o Internet Explorer
8 agora.
http://go.microsoft.com/?linkid=9707132

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]

Responder a