Atualizar o DBGrid em Todas as estações
Olá am,igos
tenho um sistema que efetua pedidos, utilizo MsSql, Delphi 7, no browser principal do pedido uso ADOQuery:
select pedido.*, grade.*,formapag.*,cli_for.nome,funcionarios.nome as nomevendedor, tipoformapag.descricao
from pedido
left join grade on
pedido.grade=grade.grade
left join formapag on
formapag.codigo=pedido.prazo
left join cli_for on
cli_for.[código] = pedido.cliente
left join funcionarios on
funcionarios.[código]=pedido.vendedor
left join tipoformapag on
tipoformapag.codigo=pedido.formapag1
order by pedido.grade,pedido.pedido
- No form de cadastro de pedido uso um outro ADOQruery para manipular o cadastro( select * from pedido). Preciso que numa determinada estação quando efetuar um Post as outras estações atualizem o ADOQuery do browser principal. No caso do Close e Open com Timer a cada n segundos ficaria inviável numa base com muitos registros, se alguem tiver uma outra solução.
Obs: Quando dou refresh no ADOQuery do browser principal dá erro por causa do join.
Atenciosamente
Silvio Guedes
atenciosamente
tenho um sistema que efetua pedidos, utilizo MsSql, Delphi 7, no browser principal do pedido uso ADOQuery:
select pedido.*, grade.*,formapag.*,cli_for.nome,funcionarios.nome as nomevendedor, tipoformapag.descricao
from pedido
left join grade on
pedido.grade=grade.grade
left join formapag on
formapag.codigo=pedido.prazo
left join cli_for on
cli_for.[código] = pedido.cliente
left join funcionarios on
funcionarios.[código]=pedido.vendedor
left join tipoformapag on
tipoformapag.codigo=pedido.formapag1
order by pedido.grade,pedido.pedido
- No form de cadastro de pedido uso um outro ADOQruery para manipular o cadastro( select * from pedido). Preciso que numa determinada estação quando efetuar um Post as outras estações atualizem o ADOQuery do browser principal. No caso do Close e Open com Timer a cada n segundos ficaria inviável numa base com muitos registros, se alguem tiver uma outra solução.
Obs: Quando dou refresh no ADOQuery do browser principal dá erro por causa do join.
Atenciosamente
Silvio Guedes
atenciosamente
Silviogs
Curtidas 0
Respostas
Aroldo Zanela
08/05/2004
Colega,
Não é uma boa pratica ficar carregando dados para grids em ambiente corporativos, em face ao overhead gerado na rede. Mas você pode implementar vários mecanismos para ´avisar´ a aplicação cliente que houve uma alteração e que os dados devem ser atualizados (Abrir e fechar a query). Existem várias soluções, desde a utilização de sockets (www.sockets.com) a monitoramento de flags (semáforos) para disparar o refresh.
Não é uma boa pratica ficar carregando dados para grids em ambiente corporativos, em face ao overhead gerado na rede. Mas você pode implementar vários mecanismos para ´avisar´ a aplicação cliente que houve uma alteração e que os dados devem ser atualizados (Abrir e fechar a query). Existem várias soluções, desde a utilização de sockets (www.sockets.com) a monitoramento de flags (semáforos) para disparar o refresh.
GOSTEI 0