Artigo Clube Delphi Edição 17 - Trabalhando com TUpdateSql e CachedUpdates

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (5)  (0)

Artigo da Revista Clube Delphi Edição 17.

Esse artigo faz parte da revista Clube Delphi edição 17. Clique aqui para ler todos os artigos desta edição


Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Trabalhando com TUpdateSql e CachedUpdates

 

 

Ao desenvolvermos uma aplicação Client/Server, devemos quase sempre nos preocupar com muitos aspectos que levem a aplicação ter um ótimo desempenho. Com certeza, um dos maiores problemas se dá no tráfego das informações na rede, o que significará uma boa velocidade de resposta para o usuário ou não.

Imagine uma aplicação que envolva grandes quantidades de registros e diversos usuários acessando-os ao mesmo tempo. O tráfego das informações na rede seria enorme e prejudicaria a velocidade de transmissão dos dados. A aplicação ficaria lenta e perderia vários segundos para realizar operações simples envolvendo consultas às informações. E, como nós sabemos, para os usuários alguns segundos a menos são como horas de espera.

Para que isso não ocorra, devemos diminuir o fluxo das informações na rede, fazendo com que a aplicação se torne mais rápida. Uma das grandes soluções é fazer com as informações, uma vez solicitadas pelos usuários, fiquem nas suas máquinas (lado Client). Os usuários farão todas as modificações necessárias e depois de tudo pronto enviarão para o servidor com o propósito de atualizar essas informações. Com isso, este tráfego será reduzido consideravelmente, pois funcionará como se as informações estivessem localmente no computador.

 

CachedUpdates

 

A maneira para que isso ocorra é a utilização do CachedUpdates, que é responsável por manter as informações localmente na máquina do usuário, ou seja, na memória do computador.

Quando utilizamos os componentes TTable, TQuery e TStoredProc, podemos fazer com que eles fiquem em modo CachedUpdates. É fácil: estes componentes possuem uma propriedade de mesmo nome que, ao setarmos para true, as informações obtidas por eles ficarão em memória. Veja a figura abaixo:

 

 

Mas nem tudo é tão fácil assim. Lembre-se que agora as informações estarão na memória, ou seja, qualquer alteração será feita lá, e não mais no servidor. Esse é o único problema de se trabalhar com CachedUpdates: se desligarmos o computador, perdemos tudo.

O melhor agora é fazer com que as informações sejam gravadas no servidor, além de limpar a memória para que ela não fique sobrecarregada de informações desnecessárias. Veja o exemplo abaixo:

 

Database1.StartTransaction;

try

   qryProdutos.ApplyUpdates;

   Database1.Commit;

   qryProdutos.CommitUpdates;

except

   qryProdutos.CancelUpdates;

   Database1.Rollback;

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?