Esses campos DB estão ligados ao cds_TCM? Se sim, tente 

 

cds_TCM.DisableControls( )

 

antes do insert, mas é mais recomendado que você trabalhe com outros
controles, TEdit por exemplo, para esse tipo de operação.

 

Ah, coloque cds_TCM.EnableControls( ) depois do for.

 

 

  _____  

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Ralp Alves Bezerra
Enviada em: terça-feira, 16 de março de 2010 07:32
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Duplicar registro no firebird

 

  

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...@yahoogrup <mailto:delphi-br%40yahoogrupos.com.br> os.com.br
[mailto:delphi...@yahoogrup <mailto:delphi-br%40yahoogrupos.com.br>
os.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...@yahoogrup <mailto:delphi-br%40yahoogrupos.com.br> os.com.br
<mailto:delphi-br%40yahoogrupos.com.br> 
From: ral...@gmail. <mailto:ralprd%40gmail.com> 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 <http://go.microsoft.com/?linkid=9707132>
.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]





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

Responder a