Quando você edita informações no ClientDataSet e faz um ApplyUpdates, o Delta do ClientDataSet (que é um XML contendo as últimas operações efetuadas) é enviado ao provider que, baseado nas informações do Delta, faz os Updates, Inserts e Deletes no banco de dados... Para isso, o ClientDataSet informa os estados antigos e novos dos registros modificados (RowState 1 e 8) para possibilitar a criação do comando correto de Update. Além disso, existem os States de Novo Registro e Registro Excluído que são armazenados para possibilitar os Inserts e Deletes... Essa informação (o Delta) pode ser armazenada também se você quiser guardar um log das operações de alteração de banco de dados efetuadas em seu sistema.
Atenciosamente, Danilo Valente ----- Original Message ----- From: Bruno Lichot To: delphi-br@yahoogrupos.com.br Sent: Thursday, October 05, 2006 4:27 PM Subject: Re: [delphi-br] Algo estranho no XML do ClientDataSet, isso é normal!? tem como vc manipular isso sim, mas de cabeça agora não lembro como fazer, mas pq vc esta persistindo em xml? der repente existe outra solução melhor, ja tentou usar o arquivo binario ao inves de xml? e mais rapido e menor... a solução disso com certeza esta no help do Delphi, lá que eu aprendi tds as magicas q sei fazer com CDS abraços Fellipe Henrique escreveu: > Olá Bruno, > > Não existe a possibilidade de eu não ter isso? Pois pensa só... 200 > registros quase todos os dias sendo modificados... o arquivo chega perto dos > 50mb em menos de 7 dias :o) > > Deveria ter uma opçao de ficar sempre que a ultima versao do registro... > > > []s > Fellipe H. > > Em 05/10/06, Bruno Lichot <[EMAIL PROTECTED]> escreveu: > >> e pq ele salva todas as transações com akele registro, se vc carregar >> este xml em um CDS conectado no banco e der um applyupdates ele executa >> tds as operações gravadas no historico e por registro..ele salva tds as >> transações com cada registro em memoria q vc fez... >> >> é normal isso mesmo >> >> >> abração >> >> Fellipe Henrique escreveu: >> >>> Olá amigos, estou trabalhando com o XML do ClientDataSet, mas percebi >>> algo muito estranho nele... quando você edita um registro que está >>> dentro dele e logo depois você salva, ele gera outro registro igual no >>> arquivo XML... pra entender melhor segue parte do XML, do arquivo >>> original: >>> >>> <ROWDATA> >>> <ROW RowState="1" IDMEDICO="1" DESCRICAO="Médico 1" .... >>> </ROWDATA> >>> >>> >>> >>> Quando você edita o Registro acima, num DbEdit, ou qualquer outro >>> controle, e dá um SaveToFile do CDS, ele gera o seguinte arquivo: >>> >>> >>> <ROWDATA> >>> <ROW RowState="1" IDMEDICO="1" DESCRICAO="Médico 1" ..... >>> <ROW RowState="8" IDMEDICO="18" DESCRICAO="Médico 1" .... >>> </ROWDATA> >>> >>> >>> >>> Perceba que o registro é igual, só mudou o IDMEDICO... >>> >>> Mas se você for e mandar abrir o XML, num DBGrid por exemplo, exibe >>> somente um registro... ou seja, exibe somente o registro que tem >>> RowState="8"... aí eu pergunto, porque disso? Isso enche o arquivo... >>> imagina um arquivo com mais de 100 registros, e eu altero os 100... >>> vou ter lá no arquivo 200 registros.. o tamanho fica imenso... >>> >>> P.S.: já tentei deletar o arquivo antigo e gerar um novo arquivo... e >>> >> nada... >> >>> o que pode ser isso? >>> >>> Desde já agradeço a todos.. >>> >>> []s >>> >>> >>> >> -- >> -- >> []´s >> Bruno Lichot >> >> >> >> > > > > -- -- []´s Bruno Lichot [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html