[firebase-br] repetição

cartorio cart5sjm em uol.com.br
Qui Fev 8 11:35:14 -03 2007


bom dia a todos, estou com o seguinte problema. tenho um banco de dados com delphi 5 e firebird usando ibdataset. o que ocorre é que tenho um while que faz a procedure abaixo rodar algumas vezes de acordo com o valor informado. só que o primeiro registro sempre aparece duplicado, o que está acontecendo de errado?
procedure gravaselos;
begin
 DM1.QRYselos1.Close;
 DM1.QRYselos1.active:=true;
 DM1.QRYselos1.selectSQL.Clear;
 DM1.QRYselos1.selectSQL.Add('Insert Into selos1 (id,DATA,NUMSELO,CONTROLE,TIPO)');
 DM1.QRYselos1.selectSQL.Add('Values(:ID,:DATA,:NUMSELO,:CONTROLE,:TIPO)');
 DM1.QRYselos1.ParamByName('ID').Asinteger:=strtoint(edit109.Text);
 DM1.qryselos1.ParamByName('DATA').Asdatetime:=strtodate((maskedit1.text));
 DM1.QRYselos1.ParamByName('NUMSELO').AsSTRING:=edit6.Text;
 DM1.QRYselos1.ParamByName('CONTROLE').AsSTRING:=edit109.Text;
 DM1.QRYselos1.ParamByName('TIPO').AsSTRING:=COMBOBOX5.Text;
 DM1.QRYselos1.OPEN;
 DM1.trSELOS1.active:=true;
 DM1.TRSELOS1.CommitRetaining;
end;
estou chamando essa procedure através da rotina abaixo
var conta:integer;
begin
 conta:=1;
 EDIT2.TEXT:='';
 testadados;
 IF EDIT2.TEXT='' THEN
 BEGIN
   gravamov;
   while conta <= strtoint(edit17.text) do
   BEGIN //begin3
     showmessage(inttostr(conta));
     edit6.text:= edit14.text+edit3.text;
     edit3.text:= inttostr(strtoint(edit3.text)+1);
     gravaselos;  //procedu que grava o movimento
     conta:=conta+1;
   end;
grata,

Fernanda Ramos-Setor informática - 5º Ofício S.J.Meriti


Mais detalhes sobre a lista de discussão lista