datasnap
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
Curtidas 0
Respostas
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!!
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
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 !!!
Caso tenha alguma outra dúvida poderá reabrí-lo e que voltaremos a atendê-lo.
Abs !!!
GOSTEI 0