Fórum ClientDataSet alguém me ajude #409974
29/11/2011
0
Montei uma tela para aplicar descontos e promoções nos produtos;
Estou utilizando os seguintes componentes: ZQuery, DataSetProvider, ClientDataSet, DataSource e o DBGrid.
Estou utilizando o DataSetProvider apenas para caregar os dados no ClientDataSet mais rápido, pois além de gravar os dados dos campos promoção e Descontos (Min. e Máx.), preciso gravar támbem os dados da promoção em duas tabelas (PromocaoCab e PromocaoItens), por isso não utilizo o ClientDataSet para gravar no BD, utilizo ele apenas para armazenar temporáriamente os registros que enviarei para o BD tudo de uma vez.
Na nessa tela tenho um botão para simular os descontos e as promoções antes de aplicar, pois nem todos os produtos obterão um valor padronizado, por tanto estou habilitando a possibilidade de o usuário poder alterar, também, registro a registro a gosto dele.
Gostaria de saber se há algum comando para que eu aplique a simulaçao no ClientDataSet de forma mais rápida e simplificada, pois estou utilizando o seguinte comando para simular os preços:
CDS.FIRST;
CDS.EDIT;
while not CDS.EOF do
begin
CDS.FIELDBYNAME(PRCPROMOCAO).ASFLOAT := CDSPRCPROMOCAO.ASFLOAT - (CDSPRCPROMOCAO.ASFLOAT * ALIQPROMO.VALUE / 100);
CDS.NEXT;
end;
CDS.POST;
Existe alguma forma mais simples para aplicar esse cálculo em todos os registros listados no ClientDataSet de uma vez, como um UPDATE, por exemplo?
Agradeço desde já qualquer ajuda.
Vagner Almeida
Curtir tópico
+ 0Posts
29/11/2011
Carlos Júnior
Para gravar no banco as informações do ClientDataSet basta você executar o comando Cds.ApplyUpdates(0);
at++
Gostei + 0
29/11/2011
Vagner Almeida
Gostei + 0
01/12/2011
Wilson Junior
Espero ter colaborado.
Gostei + 0
01/12/2011
Vagner Almeida
Gostei + 0
15/12/2011
Wilson Junior
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)