Atualização de uma tabela em varios micros qdo houver altera

Delphi

13/09/2005

bom dia pessoal

Minha duvida se refere a atualização de registros de dois micros que estão abertos com a mesma tabela se houver inclusão, alteração ou exclusão de registro.
Ou vi falar sobre Sockets pra isso, só que dei uma estudada e não consegui saber se é voltado para isso, se for onde eu posso encontrar exemplos que mostrem isso?

Tenho essa necessidade, porque no meu sistema eu tenho uma tela de agenda. Essa tela de Agenda tem um calendario e um DbGridAgenda.
Quando o cliente chega na empresa a recepcionista indica que o cliente chegou, também a recepcionista pode indicar um novo agendamento realizado pelo cliente por telefone.
Além da recepcionista tenho todos os operadores da empresa que estão com a tela de agenda aberta para saber as mudanças de status dos agendamentos.
Ocorrem mudança de status dos agendamentos qdo por exemplo um cliente chega na empresa, aí a recepcionista seleciona o registro na agenda e altera o status para ´aguardando´.

Eu até poderia colocar um Timer para dar refresh na tabela de tempo em tempo, mas acho muito arcáico e com certeza o delphi deve ter outras alternativas.

obrigado

Diogo.


Diogoalles

Diogoalles

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

13/09/2005

Qual o seu banco de dados? Se for IB/FB, vc pode fazer uso de eventos para sinalizar mudanças nos dados para a aplicação cliente.


GOSTEI 0
Diogoalles

Diogoalles

13/09/2005

Utilizo Delphi 7 e Firebird 1.5, com BDE :cry: ... ainda ....!

Não entendi bem sobre eventos. Poderia detalhar mais como seria?

obrigado

Diogo


GOSTEI 0
Gandalf.nho

Gandalf.nho

13/09/2005

Eventos são como se fossem mensagens que o banco envia e que podem ser captadas pelas aplicações clientes. Vc usaria uma trigger em cada um dos eventos da tabela que postaria um evento caso a trigger for disparada, daí basta a aplicação cliente ter uma maneira de interceptar isso e usar como sinal para dar um refresh. Como vc usa BDE, vc poderia experimentar usar o componente IBEventAlerter.


GOSTEI 0
Diogoalles

Diogoalles

13/09/2005

Bom dia Gandalf e pessoal,

Dei uma olhada nessa questão dos eventos e até o proprio MDO que estou começando a utilizar tem um MDOEvents.

Mas ainda não consegui encaixar nas minhas necessidades.

Vejam só:
Esta tabela de agenda será montada dinamicamente baseada em três tabelas do meu banco de dados.
Quando qualquer uma dessas tabelas sofrer alguma operação eu tenho que atualizar a tabela dinamica.
Mesmo assim eu conseguiria utilizar?

Como nunca utilizei Triggers e essa questão de eventos não estou conseguindo absorver a idéia sugerida, mas vou dar mais uma estudada. Tem pouco material, inclusive aqui no fórum existe pouquíssimos tópicos.

obrigado

Diogo.


GOSTEI 0
Silvio Ribeiro

Silvio Ribeiro

13/09/2005

tb tenho interesse nesse assunto, uma solucao q encontrei, q achei melhor q o timer, eh um botao acessado manualmente.... nao eh a melhor das opcoes, mas acho menos carregado para o sistema que o timer.

Mas nao sabia dessa possibilidade do FB mandar eventos. Alguem tem algum texto a respeito, ou uma dica pelo termo correto de pesquisa? (eventos firebird...)???

Grato


GOSTEI 0
Silvio Ribeiro

Silvio Ribeiro

13/09/2005

Assim que acabei meu post anterior, fui no google, e pesquisei por eventos firebird. No meio de varios links sobre feiras, encontros de usuarios firebird, achei um do site firebase, bem interessante.

Resumidamente, la diz algo sobre um POST_EVENT do firebird e um componente IB_EVENTS (acho q do pacote IBO, mas tem outros componentes de outros pacotes) que intercepta automaticamente eventos do firebird.....

pode ser esse o caminho....
as pesquisas continuam.... :lol:


GOSTEI 0
Diogoalles

Diogoalles

13/09/2005

bom dia Silvio,

Você poderia postar o link aqui ?

obrigado

Diogo


GOSTEI 0
Silvio Ribeiro

Silvio Ribeiro

13/09/2005

Ola, diogo!

Este [url=http://mail.firebase.com.br/pipermail/lista_firebase.com.br/2005-June/014619.html]link[/url] eh dessa mensagem do forum do firebase. Não explica muita coisa sobre o funcionamento, so comenta q o cara usou esse POST_EVEntS com um trigger e usou um componente da paleta IBO que captura esses eventos.

Andei vendo na paleta IBExpress do delphi e tem um componente IBEvents que serve pra capturar os eventos vindos do banco de dados.

Tem um artigo aqui no clubedelphi ([url=http://www.clubedelphi.net/apostilas/ApostiladeFirebird.pdf]uma apostila PDF[/URL]) q fala da peleta IBExpress... e comenta sobre o componente IBEvents.

Eh só isso q eu tenho... talvez no ibphoenix tenha algo... qq coisa eu posto.


GOSTEI 0
POSTAR