Fórum Firebird X DBExpress #57955

10/03/2007

0

Quando executamos applyupdates(-1) estamos encerrando uma transação?


Earmarques

Earmarques

Responder

Posts

10/03/2007

Hjmarcon

Não.
Você vai fechar a transação somente com comitt ou rollback.
O applyupdates faz com que os registros que estiverem nas tabelas sendo manipuladas sejam consistidos, ou seja, gravados efetivamente no banco.
Porém, se este applyupdates estiver dentro de uma transação e voce não der commit, quando voce fechar a conexão os dados serão perdidos, mesmo que já tenham sido consistidos.


Responder

Gostei + 0

11/03/2007

Earmarques

No caso eu utilizo dbexpress e não inicio transação manualmente não. Nesse caso o applyupdates é bastante? Pergunto isso por que estou com um banco que ao ser restaurado fica em torno de 30mb e no final do dia está com + - 130mb. Estava achando que fosse por causa de transações pendentes, mas não então.


Responder

Gostei + 0

09/04/2007

Lfer

Correto. Se você não iniciar uma transação manualmente, ao dar ApplyUpdates você salva permanentemente os dados no banco.


Responder

Gostei + 0

09/04/2007

Rodolpho123

Quando vc chama o método AppyUpdates, os dados do ClientDataSet são enviados ao DataProvider, que envia ao MIDAS e o mesmo se encarrega de executar o parse (escrever as linhas de insert, update e delete) para fazer as alterações no BD. Internamente é aberta uma transação e se não houver nenhum erro a transação é comitada, caso contrário é feito o Rollback. É claro que isso só é válido quando vc não chama o método sem iniciar uma transação....


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar