GARANTIR DESCONTO

Fórum Atualizar dados em tempo real sem REFRESH. Como? #57793

29/01/2007

0

Caros colegas, estou desenvolvendo um sistema de controle de estoque usando o banco de dados Interbase. Gostaria de saber, como eu faço para atualiza dinâmicamente uma tela quando dois usuários estiverem usando a mesma.. Ex: dois usuário abre em uma maquina o cadastro de produtos. A descrição desse produto é ´PRODUTO 1´ fictício, os dois usuários estão vendo o mesmo produto. Um usuário muda a descrição para ´PRODUTO-1´ o utro usuário ver a alteração de imediado na outra instação. Eu fazia este procedimento usando um REFRESH em um time q verificava o estado (dsbrowse), mas estava causando uma certa instabilidade no sistema - o mesmo ficava um pouco lento.

A dúvida é, como fazer isso de uma forma mais profissional - Detectar dinâmicamente as mudanças ocorridas em uma tabela. e mostrá-la em tempo real.

obs: Uso a paleta Interbase (IbDataBases, IbTransaction, IbTables).

Grato a todos.


Cmtbravo

Cmtbravo

Responder

Posts

30/01/2007

Adriano_servitec

Eu fazia este procedimento usando um REFRESH em um time q verificava o estado (dsbrowse), mas estava causando uma certa instabilidade no sistema - o mesmo ficava um pouco lento.

Ja que vc esta usando o IBtransaction vc tentou usar a proriedade [b:07b92692a5] IdleTimer [color=blue:07b92692a5] (Tempo que executará a ação de DefaultAction)[/color:07b92692a5] [/b:07b92692a5] e mudar tambem a propriedade [b:07b92692a5] DefaultAction [color=red:07b92692a5]:= TaCommitRetaining[/color:07b92692a5][/b:07b92692a5] e dar dois cliques no ibTransaction e marcar a opçao [b:07b92692a5]Read - Committed[/b:07b92692a5] Acho que depois de feito isso vc pode dar o refresh depois de usar o post o ibTable, sem precisar usar um timer para isso.

Tenta ai qualquer coisa eh soh postar.


Responder

Gostei + 0

30/01/2007

Gandalf.nho

Você pode tentar fazer uso de eventos no banco de dados que iriam sinalizar sua aplicação de alterações na tabela.
Além disso, para melhor performance, não use o IBTable, use o IBDataset ou IBQuery (tables não são recomendados em ambiente cliente/servidor).


Responder

Gostei + 0

05/02/2007

Cmtbravo

já usei todas as opções acima, porém sem efeito... Acho que vou ter q retomar o refresh novamente.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar