Transação duvidas....

26/11/2004

0

Eu utilizo ib e delphi 6.

Criei uma tabela simples para verificar como funcionam as transaçoes.

create table teste

(
tes_codigo integer;
tes_nome
);


No meu forme coloquei:
-dbgrid
-dbnavigator
-dbgrid
-ibtable
-ibtransaction
-ibdatabase

O transaction eu configurei para TACommitRetaining.

E no evento afterpost da tabela eu coloquei um ibtransacion.CommitRetaining;

para testa eu abro duas instacias do mesmo programa na mesma maquina , para simular um ambiente de rede.

A duvida q eu tenho é a seguinte:

Como q eu faço para inserir dados no dbgrid de um programa e este mesmo registro apararecer no outro ao mesmo tempo?

Muito Obrigado


Rs_ferreira

Rs_ferreira

Responder

Posts

27/11/2004

Vinicius2k

Colega,

É necessário re-executar a query, abrindo e fechando o DataSet ou aplicando um Refresh no DataSet (o resultado esperado com o Refresh depende da camada de acesso)...
No seu caso, feche e abra a IBTable... não me recordo agora se o IBTable.Refresh tem o mesmo efeito que um Close/Open, mas se seguir o mesmo padrão de IBDataSet e IBQuery, o refresh é dado apenas no registro apontado.
Mesmo vc tendo citado que é apenas um teste, devo lembrar-lhe que TxxxTables não são projetadas para Cliente/Servidor, mas de qualquer forma, mesmo que estivesse utilizando uma Query, vc teria que re-executá-la.

T+


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar