datasnap

09/10/2009

A minha dúvida é o seguinte. Tenho uma aplicação 3 camadas. Eu tenho um dbgrid ligado a uma consulta sql. que a uniao de 2 tabelas. Quando eu deletar um registro do dbgrid eu tenho que atualizar as informações. Eu nao quero dar uma close e depois um open para atualizar os dados, pois isto iria demorar. Tem outro jeito de atualizar as infomações  do grid sem ter que dar um close e depois depois um open  para atualizar estas  informações ?
Jose Boas

Jose Boas

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

09/10/2009

Olá amigo,

Vc deve esta utilizando um ClientDataSet, correto. Os dados de um clientDataSet ficam em memória. Tanto que vc pode abrir um CDS, exibir od dados e desconectar o cabo de rede ou mesmo derrubar o banco de dados que os dados continuaram lá !!!!

NEsta caso quando vc Deletar o resgistro na base será necessário dar um refresh para recarregar a GRid e o registro ser removido, ou seja, ClienteDataSet.Refresh.

O problema que isso seria a mesma coisa que um close open. Mas na minha humilde opiniao o problema não está em Abrir e Fechar e sim se há uma demora e porque há muitos dados sendo retornados. Lembre-se que em um aplicacao seja ClientServer ou 3 camamdas devemos otimizar o trafego de dados na rede. No seu caso eu revisaria seu select e tentaria filtrar de alguma forma ou entao usar o Packet Record para limitar o numero de registros atraves de pacotes de dados.

Espero ter ajudado!!!

Abs!!

GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

09/10/2009

Amigo estaremos colocando o chamado como cancelado.

Caso tenha alguma outra dúvida poderá reabrí-lo e que voltaremos a atendê-lo.

Abs !!!


GOSTEI 0
POSTAR