[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