Olá Marcelo,

nós tratamos da seguinte forma: na classe TFrmBase (todas herdam desta) 
temos a seguinte procedure

procedure TFrmBase.InicializarTransacao(Inicializar: Boolean);
begin
   TD.TransactionID := TD.TransactionID + 1;
   if Inicializar and (Not DdmSistema.Conexao.InTransaction) then
      DdmSistema.conexao.StartTransaction(TD);
end;

e para finalizar

procedure TFrmBase.FinalizarTransacao(Salvando: Boolean);
begin
   if DdmSistema.conexao.InTransaction then
      if Salvando then
         DdmSistema.conexao.Commit(TD)
      else
         DdmSistema.conexao.Rollback(TD);
end;

Sendo que:
DdmSistema: TDataModule
conexao: TSqlConnection
TD: TTransactionDesc;


Assim quando precisamos de um bloco de transação, fazemos o seguinte:
InicializarTransacao(True);
Try
    ...
    ...
    ...
    FinalizarTransacao(True);
Except
    FinalizarTransacao(False);
End;

Nunca falhou.


Att,

Celso Lorenzetti
www.sysrs.com.br


----- Original Message ----- 
From: "Marcelo Silva" <[email protected]>
To: "Comunidade PostgreSQL Brasileira" <[email protected]>
Sent: Thursday, August 19, 2010 11:15 AM
Subject: Re: [pgbr-geral] Commit + Rollback no postgres


Um... com sua dica resolvi fazer uma pesquisa diferente no "oraculo"
postgres + zeos + delphi + commit
e cheguei na pagina

http://www.activedelphi.com.br/forum/viewtopic.php?t=33645

que me clareou...

Consegui o que preciso,

Obrigado a todos por mais essa :)


Marcelo Silva
------------------------------------------------
msn: [email protected]
cel.: (11) 9693-4251
Kubuntu User number is # 24362


----- Original Message ----- 
From: "Victor Hugo" <[email protected]>
To: "Comunidade PostgreSQL Brasileira" <[email protected]>
Sent: Thursday, August 19, 2010 10:31 AM
Subject: Re: [pgbr-geral] Commit + Rollback no postgres


Marcelo,

Antes de vc abrir uma query de UPDATE , INSERT ou DELETE, mande a
instrução para o banco com o comando BEGIN,
Execute a os comandos e depois comando COMMIT se não ROLLBACK;

abraços.

Victor Hugo



Em 19 de agosto de 2010 10:26, Marcelo Silva <[email protected]> escreveu:
> Pois é, eu já sabia que o Postgres é bem mais completo que o MySQL... e
> achei estranho o Zeos dar esse erro. Neste mesmo componente tem outra
> propriedade "AutoCommit" , como o nome diz, se estiver True ele
> "AutoComita"
> senão ele dá um Rollback, mas na pratica isso não acontece, mesmo estando
> False ele grava por definitivo na base...
>
> Bem vou estudar melhor o caso pra ver onde está a solução... de qualquer
> forma, agradeço a ajuda dos colegas
>
> Marcelo Silva
> ------------------------------------------------
> msn: [email protected]
> cel.: (11) 9693-4251
> Kubuntu User number is # 24362
>
>
> ----- Original Message -----
> From: "Roberto Mello" <[email protected]>
> To: "Comunidade PostgreSQL Brasileira"
> <[email protected]>
> Sent: Thursday, August 19, 2010 8:29 AM
> Subject: Re: [pgbr-geral] Commit + Rollback no postgres
>
>
> 2010/8/18 Marcelo Silva <[email protected]>:
>>
>> Imagino que deve existir Rollback no Postgres, mas tentando ativar a
>> propriedade "TransactIsolationLevel" no componete Zeos (ZConnection) ele
>> diz:
>
> O PostgreSQL suporta transações e toda a mecânica para ACID, e há
> muito mais tempo e de forma bem mais robusta que o MySQL.
>
> Resta ler a documentação da versão do Zeos que você usa para ver o que
> está acontecendo, ou mesmo do adaptador do Zeos para PostgreSQL, que
> pode não estar completamente implementado. Não sei, pois não conheço o
> produto. Mas a falha está ou no uso, ou na escrita do Zeos, não no
> PostgreSQL.
>
> Roberto
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
[]´s
Victor Hugo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a