[firebase-br] Duvida

Pha-Lista lista em pha.com.br
Ter Fev 22 15:03:37 -03 2005


Marcos,

Alguns componentes já fazem isso internamente com o IBO por exemplo, nos demais casos usa-se o evento BeforeEdit do componente de acesso ou cria um componente de acesso com este recurso.

Eu nao utililo o IBX, na versao que tenho (Delphi 6), ele nao tem o methodo RefreshRecord ou RefreshRow, verifique se na sua versao tem.

Se nao tiver voce tem duas opcoes:

1) Usar o refresh, so que e lento se tiver muitos registros, pois internamente e feito um Open/Close seguido de um locate.

2) O IBX tem internamente o methodo InternalRefreshRow (IBCustomDataSet.pas) protegido, o IBX usa este para fazer um Reflesh apos um post se a propriedade ForcedRefresh estiver ativada, voce pode criar um componente descendete, criar um metodo RefreshRow que chama este InternalRefreshRow.

PHA
Nova Odessa / SP - Brazil

-----Mensagem original-----
From: "Marcos Darui Almeida" informatica.widitec em terra.com.br
Date: Tue, 22 Feb 2005 15:03:20 -0300
To: "FireBase" lista em firebase.com.br
Subject: Re: [firebase-br] Duvida

> onde devo usar o refreshrecord
> 
>   =======================
>   Marcos Darui Almeida
> 
>   ICQ: 275639665
>   MSN: mdarui em hotmail.com
>   Skype: mdarui
>   =======================
> ----- Original Message ----- 
> From: "Pha-Lista" <lista em pha.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, February 22, 2005 10:47 AM
> Subject: Re: [firebase-br] Duvida
> 
> 
> > Voce tem que fazer um refresh no registro (refleshrecord) antes de 
> > altera-lo, os dados nao atualizados estao na memoria da estacao cliente, 
> > ai quando voce manda salvar ele sobrepoe os dados alterados.
> >
> > O DBExpress gera o update somente com os campos alterados, o IBX 
> > provavelmente gera com todos os campos com a maioria dos componentes, 
> > matando os dados anteriores, voce deve tomar muito cuidado principamente 
> > quando exibe campos de saldos, pois se ele estiver no update você ficara 
> > com saldos errados se outro usuario movimentou.
> >
> > PHA
> > Nova Odessa / SP - Brazil
> >
> > -----Mensagem original-----
> > From: "Marcos Darui Almeida" informatica.widitec em terra.com.br
> > Date: Tue, 22 Feb 2005 10:29:27 -0300
> > To: "FireBase" lista em firebase.com.br
> > Subject: [firebase-br] Duvida
> >
> >> Está ocorrendo o seguinte problema:
> >> Meu programa (delphi6 + firebird) é usado em rede por vários > usuários, 
> >> um deles insere os registros (commitRetaining),
> >> e os outros vizualizam e alteram estes registros acrescentando dados > 
> >> não cadastrados
> >> na inserção(commitRetaining).
> >> Aconteceu novamente que
> >> depois de inserido o registro, outro usuário altera informações e > salva 
> >> (commitRetaining).
> >> Depois disso, quando o usuário que inseriu o registro altera alguma > 
> >> informação, as informações inseridas
> >> pelo usuário que só alterou o registro, são perdidas.
> >>
> >> Uso commit apenas de meia em meia hora, usar sempre commit no lugar de > 
> >> commitRetaining demora muito (fechar e reabrir as transações).
> >> Uso IBQuery + UpdateSQL.
> >>
> >>   =======================
> >>   Marcos Darui Almeida
> >>
> >>   ICQ: 275639665
> >>   MSN: mdarui em hotmail.com
> >>   Skype: mdarui
> >>   =======================
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >> Para editar sua configuração na lista, use o endereço 
> >> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >
> >
> >
> 
> 
> --------------------------------------------------------------------------------
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br





Mais detalhes sobre a lista de discussão lista