GARANTIR DESCONTO

Fórum Atualização de Query em rede #181450

11/09/2003

0

Oi, pessoal!

Eis a situação: estou fazendo um sistema de controle de aulas em delphi 7, usando banco de dados Access (componentes ADO) e conexão Microsoft Jet.

Na tela inicial tenho um StringGrid onde são exibidos os horarios das aulas e os alunos marcados para cada horario. Quando marco uma aula para determinado aluno, este entra na StrGrid no horário determinado. Até ai, tudo beleza.

Hoje testei o sistema em rede. Setei um PC como servidor e o outro como cliente marquei algumas aulas nas duas máquinas e a comunicação entre os dois funcionaram, exceto por um simples detalhe: o stringgrid nao está sendo atualizado automaticamente na máquina quando a outra faz a marcação de aula. O banco de dados é atualizado sim! Mas a query que puxa os dados para a stringgrid só é atualizada depois que é dado um refresh nela! Ai os dados aparecem perfeitos.

A pergunta é: como fazer com que as maquinas detectem a alteração no banco de dados e neste caso atualizar a query (com um refresh ou um close/open);

agradeço antecipadamente,

Silvio Ribeiro


Silvio Ribeiro

Silvio Ribeiro

Responder

Posts

12/09/2003

Mmtoor

para a sua colocação de refresh ou close/open, a segunda seria a mais indicada, porém, se estivesse usando um outro tipo BD isso poderia ser feito de forma diferente.
MMTOOR2003


Responder

Gostei + 0

13/09/2003

Silvio Ribeiro

:shock: Ok! Mas fiquei na mesma.

Geralmente uso o close/open como um refresh, uma vez que o refresh nem sempre funciona corretamente (a nao ser que seja só para atualizacao de um registro que foi alterado ou algo assim).

Mas o X da questao eh: como detectar (pelas demais maquinas) que a tabela do banco de dados (no meu caso a tabela é ´AULAS´) sofreu alguma alteração em seus registros de forma que eu possa chamar o close/open para atualizar a query que puxa os dados para exibicao!

Já me sugeriram colocar um timer e ir verificando de tempo em tempo, mas essa nao seria a forma mais indicada, uma vez que iria sobrecarregar a rede e o sistema a cada onTimer.

Pensei em uma solucao como algum componente ou semelhante que ficasse monitorando o Banco de Dados, quando detectasse alguma alteracao de alguma tabela, um evento seria gerado e ai o problema estaria resolvido. Alguem sabe de algo que faça isso? ou outra forma?

Obrigado mais uma vez

Silvio Ribeiro


Responder

Gostei + 0

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

Aceitar