Firebird em rede - Como atualizar os dados?

Delphi

06/05/2004

Utilizo os componentes DBExpress para ligação com o BD em minha aplicação e Firebird 1.0. Gostaria que alguém me ajudasse a escolhar a melhor maneira de atualizar os dados de determinada tabela para serem visualisados em todas as estações da rede. Por exemplo, incluí um cliente na tabela CadCli, certo? Isso foi feito no Servidor. Porém, na Estação 1, o mesmo módulo do sistema (cadastro de clientes) já estava na tela e esse cliente não aparece pois a tabela CadCli tinha sido aberta antes de se fazer a inclusão no Servidor. Então como fazer para que isso aconteça, ou seja, atualizar os dados na Estação 1 e mostrar, na estação o cliente incluído no Servidor, sem ter que fechar e abrir novamente a tabela? Pensei em dar um refresh, mas daí teria que fazer isso a cada segundo?

Obrigado


Valdirdill

Valdirdill

Curtidas 0

Respostas

Dopi

Dopi

06/05/2004

Acredito que a solução é essa mesmo... O que pode gerar um bom trafego na rede...
Geralmente aplicações Cliente/Servidor não apresentam Grids com varios registros, apenas um registro por vez...


GOSTEI 0
Valdirdill

Valdirdill

06/05/2004

Me nego a acreditar que seja essa a única solução para um BD tão bom. Veja bem, eu teria que colocar um timer para cada tabela ou coisa parecida. Me parece uma solução meio arcaica.
Obrigado.

Acredito que a solução é essa mesmo... O que pode gerar um bom trafego na rede... Geralmente aplicações Cliente/Servidor não apresentam Grids com varios registros, apenas um registro por vez...



GOSTEI 0
Dopi

Dopi

06/05/2004

O que ocorre é uma mudança de estilo de programação.... em C/S

Imagine uma pagina na Internet ligada a um BD, mostrando os Clientes de uma Empresa... Ela também não será atualizada sozinha...

Em C/S sempre que você faz uma consulta, você trabalha com dados Locais... não há como ficar conectado na Tabela assim como fazemos com Dbase, paradox, access... O problema não é o IB/FB, isso é comum a qq banco de dados...

O correto é criar uma interface que mostre ao usuário somente o que ele quer.... Imagine um caixa eletronico mostrar todos os correntistas existentes para você escolher quem você quer...

Porque o usuário precisaria ver sempre todos os clientes ? Já imaginou se o servidor estiver em SP e a aplicação no Rio, ligados através de 56K... Uma consulta que traga todos os clientes, seria suicidio...

Faça sempre consultas usando ´where´ para filtrar ao máximo a resposta do BD ao usuário. Voce pode por exemplo pedir ao usuário, ´Digite as iniciais do cliente a achar´...


GOSTEI 0
Xanatos

Xanatos

06/05/2004

Acho que nem timer é bom usar, a melhor maneira é fazer com que o usuário atualize caso precise de um registro que ja foi cadastrado mas nao aparece pra ele!!!
Se ele tem como saber se alguem inseriu coloca um botao de atualizar (refresh) e pronto!!! sem frescura de timer.

Espero ter ajudado!!!


GOSTEI 0
Fer_nanda

Fer_nanda

06/05/2004

http://www.delphibr.com.br/artigos/transacoes.php


Esse artigo é bastante interessante, dah uma olhada.


GOSTEI 0
Rodolpho123

Rodolpho123

06/05/2004

Concordo plenamente com os amigos acima. Um sistema que não funciona como C/S (Access,Paradox) se torna super-frágil à corrupção dos dados. O FB só envia o necessário pela rede. Qual é a vantagem? 1º : Tráfego; 2º: Se esses dados se perderem no meio do caminho( como uma queda de luz repentina) continuam preservados no banco,(desde que vc tenha um no-break para evitar danos,é claro) pois o que foi enviado foi apenas uma ´cópia´ da pesquisa.


GOSTEI 0
Edilson Silva

Edilson Silva

06/05/2004

Ola Amigos me desculpe acordar esse topico tão antigo, veja eu to com uma duvida nessa mesma questão
eu li em aguns topicos que da pra fazer com triggers no firebird, se alguem souber como fazer me dar uma luz.
GOSTEI 0
Rafael Mattos

Rafael Mattos

06/05/2004

qual componente de acesso vc usa?

se for o ZEUS ele faz automaticamente é só mudar uma FLAG





--------------------------------------------------------------------------------
Blog: http://mundodoprogramador.wordpress.com/
MSN: rafmattos@hotmail.com
Twitter: _rafmattos
GOSTEI 0
Edilson Silva

Edilson Silva

06/05/2004

sim rafmattos eu uso Zeos sim mais como mudar essa flag?
como funciona na pratica?


GOSTEI 0
Edilson Silva

Edilson Silva

06/05/2004

Há e a verção do meu zeos 6.6.5
GOSTEI 0
Rafael Mattos

Rafael Mattos

06/05/2004

sim rafmattos eu uso Zeos sim mais como mudar essa flag?
como funciona na pratica?






da uma lida nesse topico aqui


http://www.activedelphi.com.br/forum/viewtopic.php?t=52455&highlight=refresh
GOSTEI 0
POSTAR