RollbackRetaining

Firebird

31/10/2005

Amigos, estou usando uma aplicação delphi2005 com os camponentes do interbase acessando o FIrebird 1.5

Utilizo IBDatabase, IbDataset, IBTransaction e DataSource.

Quando incluo 1 registro novo na tabela e executo o commitretaining, o registro é gravado na tabela fisicamente e aparece na grid(readonly) do cadastro. Quando eu estou incluindo um registro e clico em cancelar, onde executo o RollbackRetaining, o registro não é gravado como esperado, mas continua aparecendo na grid como se estivesse existente. Só desaparece se eu fecho a aplicação e abro novamente. A grid ta ligada no Datasource.
Tem q dar refresh em algum lugar...?

Obrigado.


Doug_chagas

Doug_chagas

Curtidas 0

Respostas

Afarias

Afarias

31/10/2005

|Tem q dar refresh em algum lugar...?

bom, tem q re-executar a query.

e, certifique-se de ter a transação configurada como READ COMMITED


T+


GOSTEI 0
Doug_chagas

Doug_chagas

31/10/2005

|Tem q dar refresh em algum lugar...? bom, tem q re-executar a query. e, certifique-se de ter a transação configurada como READ COMMITED T+


Estou usando o IBTransaction. Este read commited é em alguma propriedade? Não encontrei onde preencher isso. :?


GOSTEI 0
Afarias

Afarias

31/10/2005

dê um duplo-click no componente IBTransaction


T+


GOSTEI 0
Doug_chagas

Doug_chagas

31/10/2005

dê um duplo-click no componente IBTransaction T+


Por curiosidade, se vc trabalhar com um transaction sem preencher nada nesse duplo click. Como ele se comporta por padrão?


GOSTEI 0
Doug_chagas

Doug_chagas

31/10/2005

dê um duplo-click no componente IBTransaction T+


ALterei a transaction para READ COMMITED, mas continua não funcionando. Vc disse que precisava dar re-executar a query. Isto é dar um refresh no dataset?


GOSTEI 0
Afarias

Afarias

31/10/2005

| Isto é dar um refresh no dataset?

não, é fazer ::

Dataset.Close;
Dataset.Open;



T+


GOSTEI 0
POSTAR