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
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
Curtir tópico
+ 0
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+
É 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
Clique aqui para fazer login e interagir na Comunidade :)