ZeosLib Delphi 7 Firebird/Interbase

06/12/2005

0

Olá gente!!!! Estou tendo uma enorme dificuldade em desenvolver uma aplicação Cliente/Servidor utilizando ZEOS. Pois a aplicação não atualiza, as inserções e nem as alterações... Gostaria se possível um exemplo.

Em relação o AutoCommit tem q ficar true mesmo???

Desde já Agradeço...

[ ]´s :roll: :x :shock:


Camussica

Camussica

Responder

Posts

06/12/2005

Romulocpd

Olá,

Verifique a propriedade RequestLive pois quando usei tinha um problema com esta propriedade. Hoje em dia eu faço gravações e atualizações usando Classes e meus problemas acabaram! Nada de DataModule!

Abração

Romulo Oliveira
Macaé/RJ


Responder

06/12/2005

Camussica

Ok, mais o problema em relação a não salvar é na estação cliente, por exemplo, altero em determinada máquina da rede, e em outros PCs, a alteração não é concluida...


Responder

07/12/2005

Romulocpd

Nâo seria problema de transações?


Responder

07/12/2005

Camussica

Penso q sim, pois nunca havia utilizado transações... Se ñ for pedir muito teria algum exemplo q possa me enviar???

Desde já Agradeço...


Responder

07/12/2005

Eniorm

eu uso IBX/MDO e sempre configuro a transação para ReadCommited pois assim evita que aconteça o mesmo problema que vc vem enfrentando.... agora, no Zeos eu não sei como configurar isso.


Responder

08/12/2005

Romulocpd

Olá,

Não tenho o Delphi aqui mas no objeto TZConnection você tem o ISOLATIONLEVEL para saber o nível de isolamento das transações. Deixe para READCOMMITED pois desta forma você só irá enxergar dados de transações já confirmadas de outras conexões, e evitará leituras fantasmas de dados.

Para usar é muito simples. Antes de executar o seu comando SQL para incluir, alterar ou excluir dados você faz:

ZeosConexao.STARTTRANSACTION; Desta forma tá iniciada.

Eu aconselho vc sempre executar os comandos SQL com try/except para pode ficanlizar corretamente as transações. Assim:

var
Erro: Boolean;
begin

ZeosConexao.StratTransaction;

Try
ZeosDataSet.ExecSQL;
Except
begin
ZeosConexao.RollBackTransaction;
Erro := true;
end;
end;

if Erro = false then
ZeosConnection.Comit;


Veja amigo que o codigo pode estar completamente errado pois estou sem o Delphi (trabalho com o VB o dia todo!), por isso nao lembro exatos os comandos de cabeça, mas épor aí. MInha classe de conexão funciona exatamente assim.




end;


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar