Exatamente Ricardo... através do Delta você consegue obter o valor antigo, e o novo valor dos campos através dos métodos NewValue e OldValue.
Edelson para um pequeno teste você pode criar um projeto em branco colocar dois clientdataset's, um como tabela de memória e o outro com dados preenchidos, ao alterar os valores do primeiro e realizar o post, grave o delta no clientdataset de memória, desta maneira você pode realizar um FOR olhando os fields e comparando-os. É importante que você entenda bem o funcionamento de Variants para não ter supresas de como trabalhar com os OleVariants. []s Daniel 2009/6/2 Ricardo César Cardoso <ricardo_engs...@yahoo.com.br> > > > Até onde lembro o Delta só tem as colunas e dados mudados. Não tem o > registro todo. Se não me engano a matriz do Delta é algo assim: Field, > OldValue, NewValue mas não tenho certeza absoluta. > > []'s > Ricardo. > > 1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS. > > 2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor > compreendida. > > 3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante! > > --- Em ter, 2/6/09, Edelson Regis de Lima > <edre...@ig.com.br<edregis%40ig.com.br>> > escreveu: > > De: Edelson Regis de Lima <edre...@ig.com.br <edregis%40ig.com.br>> > Assunto: Re: [delphi-br] Funcionamento interno do ApplyUpdates > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Data: Terça-feira, 2 de Junho de 2009, 9:40 > > > Entendi... > > E eu consigo enxergar as rows os Fields dentro do Data e do Delta? > > Ou tenho que fazer algum TypeCast para obter as informações? > > Pelo que você falou, eu preciso comparar tudo o que está diferente no Delta > > em relação ao Data, trabalhar essas informações e depois persistir no banco > > de dados. > > Vocês sabem de alguma maneira eficaz de se fazer isso? Tipo, sem correr o > > risco de deixar dados para traz? > > Obrigado, > > Edelson. > > 2009/6/1 Daniel Sobrinho Laporte <daniel.laporte@ gmail.com> > > > > > > > > > Edelson o ClientDataSet possui dois estados internos. > > > > > > ClientDataSet. Data: contém os dados originais > > > ClientDataSet. Delta: contém os dados que sofreram alteração > > > > > > A peristência na verdade é realizada pelo DataSetProvider de acordo com > seu > > > UpdateMode e com as configurações dos ProviderFlags. Tanto o Data quanto > o > > > Delta são OleVariants, desta forma você pode criar um array de variants e > > > atribuir o valor, ou utilizar um outro ClientDataSet. Data em tempo de > > > execução ok? > > > > > > []'s > > > > > > Daniel > > > > > > 2009/6/1 berdam <berdamzinho@ yahoo.com. br <berdamzinho% 40yahoo.com. > br>> > > > > > > > > > > > > > > > > > > o dataset tem tuas propriedades o data e o delta, se n me engano o data > > > > possui o registro, já o delta possui todos os registros alterados. > > > > > > > > Edelson Regis de Lima escreveu: > > > > > > > > > > > > > > > > > > > Olá galera! > > > > > > > > > > Alguém sabe como o ApplyUpdates do TClientDataSet reconhece > > > internamente > > > > > quais são os registros que foram alterados, e que operação ele > precisa > > > > > executar (se é insert, update, delete...). > > > > > Estou perguntando isso porque estou desenvolvendo um componente > herdado > > > > do > > > > > TClientDataSet, que terá um ApplyUpdates "modificado" . Esse > > > ApplyUpdates > > > > > terá que fazer algumas outras coisas antes de persistir os dados. > > > > > E se eu conseguir entender como o ApplyUpdates reconhece quais os > > > > > registros/campos que precisam ser persistidos, irá facilitar muiiiito > a > > > > > minha vida. > > > > > Já ouvi falar que tem a ver com o Delta, mas não manjo muito sobre > > > ele... > > > > > > > > > > Abraços, > > > > > > > > > > Edelson. > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > -- > > > > ------------ --------- --------- --------- --------- ----- > > > > Uberdam Cavaletti > > > > Formado em Tecnologia da informação - Unoesc - Xxe > > > > Pós graduado em Desenvolvimento Java - Unoesc - Xxe > > > > > > > > Acesse http://www.curricul ar.com.br/ berdam > > > > Acesse http://passandovene no.blogspot. com > > > > > > > > ------------ --------- --------- --------- --------- ----- > > > > > > > > > > > > > > > > > > -- > > > Daniel Sobrinho Laporte > > > Analista de Sistemas e Desenvolvedor Delphi + Firebird. > > > Colunista e Editor Técnico ClubeDelphi - DevMedia. > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Daniel Sobrinho Laporte Analista de Sistemas e Desenvolvedor Delphi + Firebird. Colunista e Editor Técnico ClubeDelphi - DevMedia. [As partes desta mensagem que não continham texto foram removidas]