Fórum Problemas com While not Eof ao atualizar tabela #254655

15/10/2004

0

E aí galera,
Estou com dificuldades para atualizar todos os dados de determinado campo de uma tabela,como ao se fazer um reajuste de preços ,por exemplo.
Fiz um [i:8d30a43cb0]´while not SqlClientedataset1.eof ´e [/i:8d30a43cb0]no ultimo registro ele atualiza duas vezes o mesmo campo.
Já sei que o Eof é uma posição que vem depois do last,mas mesmo pesquisando aqui no forum não consegui chegar a uma solução.
Espero a ajuda de vocês.
FLW!


Milk

Milk

Responder

Posts

15/10/2004

Ricna

Fora ele atualizar 2 vezes o ultimo registro existe um problema, e essa atualização prejudica de alguma forma o sistema(fora o tempo x2)?


Responder

Gostei + 0

15/10/2004

Milk

Prejudica,pois o campo que eu estou reajustando é onde ficam armazenadas o valor da hora de cada funcionario.
Esta rotina atualiza todos os valores com base num percentual fornecido pelo usuario.
Então se o ultimo registro tinha o valor R$2,00 , e o percentual de aumento foi de 50¬,ele fica com R$4,00 em vez de ficar com R$ 3,00.
Não sei se consegui me explicar,mas estou precisando muito de ajuda.


Responder

Gostei + 0

15/10/2004

Gandalf.nho

Coloque ai seu código pra gente dar uma olhada.


Responder

Gostei + 0

15/10/2004

Ricna

coloque a rotina executada para podermos ajudar


Responder

Gostei + 0

15/10/2004

Milk

Aí esta então:
var
    Perc:Integer;
    Valor:Currency;

if RdReajuste.ItemIndex = 0
then begin
            DmPonto.CdsNivel.First;
            while not DmPonto.CdsNivel.eof  do
            begin
                  DmPonto.CdsNivel.Edit;
                  Valor:=DmPonto.CdsNivelNVVALORHORA.AsCurrency;
                 DmPonto.CdsNivelNVVALORHORA.AsCurrency:=
                      ((perc/100)*Valor)+Valor;
                 DmPonto.CdsNivel.Next;
            end;



Responder

Gostei + 0

15/10/2004

Aroldo Zanela

Colega,

Coloque um [b:38f237159e]Post [/b:38f237159e]antes do [b:38f237159e]Next[/b:38f237159e].


Responder

Gostei + 0

18/10/2004

Milk

Valeu zanella,
Funciounou,agora só tenho uma duvida:
Posso iniciar uma transação ao final de todos ao reajustes e ´comitar´tudo?
Coloco aplyupdates e depois ´comito´?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar