Atualizar dados na rede
Senhores,
Estou desenvolvendo uma aplicação usando Delphi/FireBird para funcionar em rede e preciso da seguinte característica:
Quando um cliente insere ou atualiza algum dado, todos os outros precisam ´ver´ esta atualização imediatamente. Para acesso ao Banco de Dados estou utilizando os componentes IBX, e para notificar alterações no banco estou utilizando o comando POST_EVENTS, chamado dentro de um Trigger que é ativado depis de cada alteração no banco.
Os clientes recebem a Notificação do Banco de dados, e minha dúvida está exatamente neste ponto: Qual o código que devo colocar na aplicação cliente para que os dados sejam atualizados sempre que uma aplicação cliente receber uma Notificação do banco?
Por favor, soccoram-me!!!!
Estou desenvolvendo uma aplicação usando Delphi/FireBird para funcionar em rede e preciso da seguinte característica:
Quando um cliente insere ou atualiza algum dado, todos os outros precisam ´ver´ esta atualização imediatamente. Para acesso ao Banco de Dados estou utilizando os componentes IBX, e para notificar alterações no banco estou utilizando o comando POST_EVENTS, chamado dentro de um Trigger que é ativado depis de cada alteração no banco.
Os clientes recebem a Notificação do Banco de dados, e minha dúvida está exatamente neste ponto: Qual o código que devo colocar na aplicação cliente para que os dados sejam atualizados sempre que uma aplicação cliente receber uma Notificação do banco?
Por favor, soccoram-me!!!!
Carlosfim
Curtidas 0
Respostas
Sremulador
10/06/2005
você pode utilizar um ttimer para fazer esta operação, pois já pensou se o usuario esta fazendo uma pesquisa e de repente você coloca outras informações na tela dele :?:
GOSTEI 0
Carlosfim
10/06/2005
sremulador,
O uso de um timer iria causar tráfego desnecessário na rede. Com os eventos disparados pelo banco eu só atualizo os dados quando for realmente necessário.
Quanto a consulta, meu sistema armazena a última consulta realizada. Por isso o usuário não veria dados que não estivessem dentro dos critérios de sua consulta.
Mas, o problema não é esse: Eu quero sabeo como faço para atualizar os dados, independente de como ou quando eu vou chamar essa atualização.
Desconectar e Reconectar no Banco de dados funciona, mas deve ter um jeito melhor de fazer isso,
Obrigado pela ajuda,
O uso de um timer iria causar tráfego desnecessário na rede. Com os eventos disparados pelo banco eu só atualizo os dados quando for realmente necessário.
Quanto a consulta, meu sistema armazena a última consulta realizada. Por isso o usuário não veria dados que não estivessem dentro dos critérios de sua consulta.
Mas, o problema não é esse: Eu quero sabeo como faço para atualizar os dados, independente de como ou quando eu vou chamar essa atualização.
Desconectar e Reconectar no Banco de dados funciona, mas deve ter um jeito melhor de fazer isso,
Obrigado pela ajuda,
GOSTEI 0
Sremulador
10/06/2005
bem acho que interpretei errado sua pergunta, vamos lá e só selecionar o aopção read_commited no seu compoenente de transação, ao gravar em uma tabela tem que dar um commit....
GOSTEI 0
Carlosfim
10/06/2005
Caro Sremulador, é isso mesmo que estou procurando!
Estou usando IBX e não encontrei nenhuma propriedade no componente IBTransaction onde eu pudesse configurar esta opção.
Sei que o IBO possui uma propriedade chamada isolation, mas no IBX não existe.
Vc sabe como configurar no IBX?
Obrigado
Estou usando IBX e não encontrei nenhuma propriedade no componente IBTransaction onde eu pudesse configurar esta opção.
Sei que o IBO possui uma propriedade chamada isolation, mas no IBX não existe.
Vc sabe como configurar no IBX?
Obrigado
GOSTEI 0
Sremulador
10/06/2005
eheheh, desculpe penso que todos conhecem :), da dois clicks em cima dele que aparece .. :wink:
GOSTEI 0
Carlosfim
10/06/2005
Obrigado pela ajuda!!!
Funcionou redondinho.
Funcionou redondinho.
GOSTEI 0