Onde esta o erro desse loop?
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
Curtidas 0
Respostas
Danielrsanches
07/07/2009
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 !!!
GOSTEI 0
Emerson Nascimento
07/07/2009
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
GOSTEI 0