Fórum Onde esta o erro desse loop? #372074
07/07/2009
0
Colegas..
Tenho esse loop funcionando 100¬ em um sistema usando o componente IBX(interbase).
Estou migrando para o DBExpress e quando mando rodar esse loop, não esta comitando no banco de dados e não sai do loop.
procedure TFormPadrao1.btn_habilitaTodosClick(Sender: TObject);
begin
if not (cdsCadastro.IsEmpty) then
begin
cdsCadastro.First;
cdsCadastro.DisableControls;
while not cdsCadastro.Eof do
begin
cdsCadastro.Edit;
cdsCadastro.FieldByName(´status´).asstring:= ´S´;
cdsCadastro.FieldByName(´data_hab´).AsDateTime:= date;
cdsCadastro.Post;
cdsCadastro.Next;
end;
cdsCadastro.ApplyUpdates(0);
cdsCadastro.EnableControls;
end;
end;
O que devo mudar?
Grato:
Jose Luiz
Tenho esse loop funcionando 100¬ em um sistema usando o componente IBX(interbase).
Estou migrando para o DBExpress e quando mando rodar esse loop, não esta comitando no banco de dados e não sai do loop.
procedure TFormPadrao1.btn_habilitaTodosClick(Sender: TObject);
begin
if not (cdsCadastro.IsEmpty) then
begin
cdsCadastro.First;
cdsCadastro.DisableControls;
while not cdsCadastro.Eof do
begin
cdsCadastro.Edit;
cdsCadastro.FieldByName(´status´).asstring:= ´S´;
cdsCadastro.FieldByName(´data_hab´).AsDateTime:= date;
cdsCadastro.Post;
cdsCadastro.Next;
end;
cdsCadastro.ApplyUpdates(0);
cdsCadastro.EnableControls;
end;
end;
O que devo mudar?
Grato:
Jose Luiz
Jose Luiz
Curtir tópico
+ 0
Responder
Posts
08/07/2009
Danielrsanches
vc trabalha com qual banco de dados ???
pq ao invés desse loop vc não dá um comando SQL ???
tipo:
eu exemplifiquei com uma query, mas vc pode utilizar outros componentes ...
abraços !!!
pq ao invés desse loop vc não dá um comando SQL ???
tipo:
query.SQL.Text:= ´update CADASTRO set STATUS=:pStatus, DATA_HAB=:pData´; query.ParamByName(´pStatus´).AsString:= ´S´; query.ParamByName(´pData´).AsDateTime:= date; query.ExecSQL;
eu exemplifiquei com uma query, mas vc pode utilizar outros componentes ...
abraços !!!
Responder
Gostei + 0
08/07/2009
Emerson Nascimento
visto que o commit está fora do loop, não está comitanto PORQUE não sai do loop...
agora uma pergunta: seu cds está com algum índice ?
também tente trocar .AsDateTime por .AsSQLTimeStamp
agora uma pergunta: seu cds está com algum índice ?
também tente trocar .AsDateTime por .AsSQLTimeStamp
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)