[firebase-br] commit ou rollback em um script.

Jéter Rabelo - GMail jeter.rabelo em gmail.com
Qua Jun 18 13:43:06 -03 2014


Boa tarde.

As modificações, todas elas, ficam nas minhas classes

Eu controle o que deve ser alterado com números de versões, que são 
várias, conforme o módulo.

Vou te mostrar um trecho de um código de atualização com updates.

procedure TBDModificacoes.Versao_2_0_61_0;
var
   AOk: Boolean;
begin
   // 27/05/2014
   try
     TfrmStatus.Exibir('Modificando estrutura banco de dados - Módulo 
Principal');
     try
       TConexao.StartTransaction;

       TClienteServicoCotaCPQ.GetInstance.Modificado := True;
TClienteServicoCotaCPQ.GetInstance.VerificaTabelaBD(AOk);
       if not AOk then
         Exit;

       TConexao.Commit;

       DoProtect;
     finally
       if TConexao.InTransaction then
       begin
         MsgErro('Erro ao efetuar atualização! - Estrutura BD Principal' 
+ crlf +
           'Verifique se não tem alguém utilizando o sistema' + crlf +
           'e tente novamente.');
         TConexao.Rollback;
       end;
     end;

     try
       TConexao.StartTransaction;
       if not TConexao.ExecuteDirect('update CLIENTE_SERVICO_COTA set 
DH_ENTRADA = D_INCLUSAO') then
         Exit;
       TJeraSoft.GetInstance.Versoes.PutRecord(ttvBD, '2.0.62.0');
       TConexao.Commit
     finally
       if TConexao.InTransaction then
       begin
         MsgErro('Erro ao efetuar atualização! - Insert/Update' + crlf +
           'Verifique se não tem alguém utilizando o sistema' + crlf +
           'e tente novamente.');
         TConexao.Rollback;
       end;
     end;
   finally
     TConexao.Desconecta;
     TfrmStatus.GetInstance.Fechar;
     MessageDlg('O Aplicativo será finalizado para que as alterações 
possam ter efeito',
       mtInformation, [mbOk], 0);
     Application.Terminate;
   end;
end;

Atenciosamente.

______________________
Jéter Rabelo Ferreira
<http://www.jerasoft.com.br>

http://www.jerasoft.com.br
Skype: jeter.rabelo

Em 18/06/2014 13:18, Carlos Midia escreveu:
> Boa tarde Jéter Rabelo, você teria ai algum exemplo?
> de como inicia e finaliza a transação.
>
> desde já agradeço
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>





Mais detalhes sobre a lista de discussão lista