Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Dúvida forma de gravar dados


DiabloX3

Pergunta

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...

Qual seria o correto?

Editado por DiabloX3
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

as duas maneiras são corretas, mas eu uso o ApplyUpdates(-1) para garantir que mesmo havendo erros o que estiver correto possa ser gravado

se voce usar ApplyUpdates(0) somente se tudo estiver correto é que será gravado, caso contrário não grava nada

abraço

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...