Artigo Clube Delphi Edição 16 - TclienteDataset – Parte III
Artigo da Revista Clube Delphi Edição 16.
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.
TclienteDataset – Parte III
Tratanto erros no ambiente Cliente-Servidor
Um aspecto que devemos observar, e que é muito importante em todos os projetos que envolvam uma base de dados é a confiabilidade desses dados, ou seja. Até que ponto as opeações executadas na base são seguras e perfeitas.
Para garantir esse ponto, nós, desenvolvedores do mundo Ttable, observamos um cuidado básico que garante nossa sobrevivência: verificar se o registro que vamos editar já não esta sendo editado por outro usuário. Este cuidado existe em toda aplicação que algum dia venha a escrever alguma coisa em uma base de dados.. tudo perfeito, não fosse um pequeno detalhe: não funciona mais! Antes que o desespero tome conta, saiba que outros desenvolvedores já passaram por isso e sobreviveram. Como? Utilizando o conceito Client/Server.
Quando trabalhamos com Ttable, temos a base na mão, é fácil contorlar um registro “setando” seu estado para “em edição”. Pronto, somos os senhores da situação; quando trabalhamos com TclientDataset, e por tabela, com a tecnologia Client/Servidor, não sabemos nem onde está a base e, o que é pior, o mundo pode acabar entre o momento em que o usuário iniciou uma edição até o instante que ele resolve que gostaria gravar o seu trabalho. Sendo assim, fundamentalmente o nosso problema é: não existe como bloquear o registro!
Em Client/Server a base semrpe está disponível. Assim não podemos mais contar com a sorte, achando que ninguém vai alterar alguma informção enquanto estivermos trabalhando dados de um registro. As situações possíveis são:
- o registro não sofreu mudanças desde o momento em que foi feita a última leitura destes dados. Este é o melhor caso, gravamos as alterações feitas e pronto!
- o registro que está sendo editado sofreu alguma alteração desde o momento que foi feita a última leitura dos dados. Complicado para dizer o mínimo... temos que dicidir o que fazer: abortar, marge, gravar sobescrevendo, enfim são muitas as opções.
- o registro não existe mais, foi apagado por outro usuário. Podemos abortar (já que não existe mais um regristro para ser alterado) ou gravar tudo.
A isto damos o irônico nome de reconciliação. Bem, acho que não poderia ser diferente
A reconciliação
Deixando à parte qualquer vocação para casamenteiro, temos primeiramente que esmiuçar o que o Handle do evento OnReconcileError nos oferece..."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo