Tenho uma dúvida sobre codificação na hora de gravar
estou com o seguinte código
try
dmCadastro.cdsCadastro1.Post;
dmCadastro.cdsCadastro1.ApplyUpdates(0);
dmCadastro.cdsCadastro2.Post;
dmCadastro.cdsCadastro2.ApplyUpdates(0);
except
on E:Exception do
begin
raise Exception.Create('Erro ao gravar:' + E.message);
dmCadastro.cdsCadastro1.CancelUpdates;
dmCadastro.cdsCadastro2.CancelUpdates;
end;
end;
Uma outra forma de fazer (que eu vinha fazendo) é
try
dmCadastro.cdsCadastro1.Post;
if dmCadastro.cdsCadastro1.ApplyUpdates(0) <> 0 then
dmCadastro.cdsCadastro1.CancelUpdates
dmCadastro.cdsCadastro2.Post;
if dmCadastro.cdsCadastro2.ApplyUpdates(0) <> 0 then
dmCadastro.cdsCadastro2.CancelUpdates
o except seria igual só que sem o cancelupdates
Dúvida: Qual dos dois métodos é mais garantido? Se levar em conta que o cursor vai chegar no IF <> 0 e pular diretamente pro except então não vai entrar na linha de CancelUpdates eu teria que por o Cancel no Except, porém fazendo um teste aqui eu vi que tendo os 2 Cancel no Except, um deles não é executado... o delphi pula um dos Cancel...
Pergunta
DiabloX3
Tenho uma dúvida sobre codificação na hora de gravar
estou com o seguinte código
Uma outra forma de fazer (que eu vinha fazendo) éDúvida: Qual dos dois métodos é mais garantido? Se levar em conta que o cursor vai chegar no IF <> 0 e pular diretamente pro except então não vai entrar na linha de CancelUpdates eu teria que por o Cancel no Except, porém fazendo um teste aqui eu vi que tendo os 2 Cancel no Except, um deles não é executado... o delphi pula um dos Cancel...
Qual seria o correto?
Editado por DiabloX3Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.