Ola pessoal,

 

Estou tentando implementar uma rotina em que o sistema salve algumas
informações em um BD, mas, caso os dados já existam (Primary Key), um update
será executado no bloco (try, except). Minha duvida e justamente com o bloco
try, except, pois, caso não seja um erro gerado por primary key como posso
fazer para executar um Rollback, já que o sistema assumira o Except? Se
alguém souber me ajudar fico grato, 

 

             With DM.GravaDados do begin

               Try

                  if (not DM.MDOTR.InTransaction) then
DM.MDOTR.StartTransaction;

                  Active:=False;

                  SQL.clear;

                  SQL.Add('Insert Into Clientes (Nome, Endereco, ...

                  ExecSQL;

               Except  

                  SQL.clear;

                  SQL.Add('Update Clientes Set Nome=:A01,Endereco=:A02...

                  ExecSQL;

                  DM.MDOTR.Commit;

                  Application.MessageBox('Os dados foram gravados com
sucesso.', ' A T E N Ç Ã O', 0);

 

 

Christian Balz



[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a