[firebase-br] Fwd: [delphi-br] Re: Update com ClientDataSet respeitando o Delta

Alencar - Philler Informatica toiota em gmail.com
Sex Out 27 09:40:52 -03 2006


Senhores, gostaria mutio de receber algum retorno desta duvida, pois
estamos para decidir o set de componentes a ser usado e nao podemos
nos dar o luxo
de errar.

Outra possibilidade de uso: FIBPlus. Consultei o site da Firebase e o custo é
acessivel (US$ 69,00).

Grato.

Alencar
P.S.: Deixei todo o corpo do email propositalmente para analise completa.

---------- Forwarded message ----------
From: Alencar - Philler Informatica <toiota em gmail.com>
Date: Oct 25, 2006 6:44 PM
Subject: Re: [delphi-br] Re: Update com ClientDataSet respeitando o Delta
To: delphi-br em yahoogrupos.com.br


Senhores, apos muitas tentativas, alteramos o componente dataset de
IBOQuery (IBO) para IBDataSet (IBX) + DSP + CDS.
Funcionou perfeitamente.
Por teimosia, voltamos o IBOQuery e ligamos um IBOUpdateSQL a ele.
Nao funciona, atualiza todos os campos independente se foram alterados.

Nume terceira tentativa, usamos o set da Zeos. Nada.

Alguem ja passou por isso, ou seja com IBO/Zeos, o trio nao funciona direito?

Grato

Alencar

On 10/25/06, Alencar - Philler Informatica <toiota em gmail.com> wrote:
> On 10/25/06, Walter Chagas (Yahoo) <wchagas em telemont.com.br> wrote:
> > Verifique seu DatasetProvider. O meu eu configuro ele da seguinte
> > maneira:
> >
> > Na propriedade Options, eu defino: poCascadeDeletes,
> > poCascadeUpdates, poAutoRefresh, poPropagateChange e
> > poRetainServerOrder como true.
> >
> > Na propriedade UpdateMode, defino ela como upWhereKeyOnly
> >
> > Adiciono o FieldsEditor tanto na query como no CDS e seto a chave
> > primaria pro pfInkey nos dois componentes.
> >
>
> Certo. Fiz as configuracoes acima.
> Apos modificar um campo em uma instancia do prg e outro campo em outra,
> a segunda comitada sobrepos a primeira.
> Veja a clausula SQL gerada pelo componente:
> Note que mesmo tendo alterado somente o campo NOME, todos os campos foram
> atualizados pelo que eu tinha no cache.
>
>
> UPDATE FONETICA
>  SET ID = ? /* ID */
>    , NOME = ? /* NOME */
>    , NOMERED = ? /* NOMERED */
>    , NOMEFON = ? /* NOMEFON */
>    , NOMEREDFON = ? /* NOMEREDFON */
> WHERE FONETICA.ID = ? /* OLD.ID */
>
> PLAN (FONETICA INDEX (RDB$PRIMARY1))
>
> FIELDS = [  Version 1 SQLd 0 SQLn 30 ]
>
> SECONDS = 0,016
> ----*/
> /*---
> [ 25/10/2006 11:56:02 ]
> EXECUTE STATEMENT
> TR_HANDLE = 10119916
> STMT_HANDLE = 10108872
> PARAMS = [  Version 1 SQLd 6 SQLn 6
>  [ID] = 2
>  [NOME] = 'HELL OUTRO'
>  [NOMERED] = '150'
>  [NOMEFON] = <NULL>
>  [NOMEREDFON] = <NULL>
>  OLD.[ID] = 2 ]
>
> ---------------------------------------
>    Philler Informatica Ltda
>    Jose Alencar Philereno
>         ICQ 13458351
> Messenger/Skype (voz): alencar
>
> "Feliz aquele que transfere o que sabe
> e aprende o que ensina" Cora Coralina
>




Mais detalhes sobre a lista de discussão lista