RollbackRetaining
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.
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
Curtidas 0
Respostas
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+
bom, tem q re-executar a query.
e, certifique-se de ter a transação configurada como READ COMMITED
T+
GOSTEI 0
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
31/10/2005
dê um duplo-click no componente IBTransaction
T+
T+
GOSTEI 0
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
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
31/10/2005
| Isto é dar um refresh no dataset?
não, é fazer ::
Dataset.Close;
Dataset.Open;
T+
não, é fazer ::
Dataset.Close;
Dataset.Open;
T+
GOSTEI 0