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

 


Responder a