GARANTIR DESCONTO

Fórum atualizar em tempo real na rede....... #350055

04/12/2007

0

Ola Pessoal!

por exemplo to aqui usando em rede o sistema, ai eu altero um dado qualquer e quando clico em gravar ele altera legal tanto na tela de consulta quanto na de cadastro , até pq eu fiz o comando close e open das telas, mais na estação por exemplo ele não atualiza se estiver com a tela aberta, tem que fechar e abrir a tela pra atualizar, sabe como devo proceder pra resolver isso?


Tchucky

Tchucky

Responder

Posts

06/12/2007

Sistemald

Rapaz,

acho que não escapatoria, você teria que dar um refresh de vez em quando na tela, usar um objeto Timer, mas tome cuidado para não gerar muito trafego e processamento.


Responder

Gostei + 0

06/12/2007

Tchucky

pois é cara ja pensei nisso mas eu queria outra maneira pq usar timer é meio cavernoso...


Responder

Gostei + 0

07/12/2007

Sistemald

verdade,

mas, porque você está tão preocupado em atualizar o registro na tela do usuário?

veja bem, meu sistema, o usuário digita o nome ou outro atributo para localizar, ou seja mostra poucos registro no dbgrid, a chance de um daqueles ali esta desatualizado eu considero pequeno, ainda mais que ali só mostra alguns dados mais importante, agora se ele for visualizar ou editar, aí mostra todos os dados, mas aí a chance de algum ter alterar ele neste momento é muito pequena.

por isso não vejo necessidade de ficar atualizando.

eu só trabalho com a transações em modo Readcommited;


Responder

Gostei + 0

07/12/2007

Sistemald

Para atualizar acredito que tenha um jeito menos pior

use events do Firebird

CREATE TRIGGER emp_up1 FOR employee
ACTIVE AFTER UPDATE POSITION 0
AS
BEGIN
POST_EVENT ´employee_atualizado´;
END


Depois você captura com MDOEvents ou Ibevents. o código acima será disparado pelo banco quando atualizar a tabela employee, enviando a mensagem, employee_atualizado, então no sistema você verifica se a tabela employee está aberta, se tiver da um refresh.


Responder

Gostei + 0

08/12/2007

Tchucky

Hi axei intereçante isso mas m explica ai cmo eu adiciona isso la...

meu sistema tem quase 150 tabelas e tenho 6 usuario em rede por isso q preciso atualizar...

da forma q esta ele so atualiza se o cara fechar e abrir o form dinovo...

ai ele perde tempo em ficar fazendo...

estou usando o firebird e componentes Zeos...


Responder

Gostei + 0

09/12/2007

Sistemald

Olá,

você vai ter que criar uma trigger para cada tabela, e depois capturar esta mensagem, eu nunca usei Zeos, procure se tem um componente para captura de eventos, lembre-se de cada tabela colocar uma mensagem difente, depois na leitura da mensagem, você ja sabe em tabela dar o refresh.


Responder

Gostei + 0

19/12/2007

Vitor Alcantara

Se fosse no SQL SERVER como que eu poderia obter o mesmo resultado?

PS: É para um sistema de caixa onde os vendedores fazem as vendas e o caixa tem uma tela que vai atualizando de 5 em 5 segundos (Isso que eu queria mudar), onde recebe o número do pedido, vendedor.... .


Responder

Gostei + 0

19/12/2007

Pestana_

e se estiver utilizando componentes da palheta Standard (edit, combobox ....) complica !!!


flw.


Responder

Gostei + 0

19/12/2007

Pestana_

sistemald você sabe como resolver o problema utilizando os componentes da palheta Standard ?



flw.


Responder

Gostei + 0

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

Aceitar