Fórum SQL-InterBase Avançados #164183

02/06/2003

0

Olá pessoal,
estou com um grande problema, estou desenvolvendo um aplicativo
cliente-servidor. Para acessar o bando de dados estou usando
o ibquery, o problema é o seguinte: quando faço um update em um
campo da tabela ele só é atualizado quando eu fecho o ibdatabase,
só que eu não posso fecha-lo. Então o cliente não ve a informação
atualizada e sim a antiga.
Como faço para atualizar sem fechar o ibdatabase??
Muito Obrigada.
Beijos!!!


Leticia

Leticia

Responder

Posts

03/06/2003

Obubiba

Inicie uma nova transação com o componente IBTransaction antes de trazer os dados ao IBQuery.
Assim, realizando a consulta utlizando-se uma transação, os dados virão atualizados.


Responder

Gostei + 0

03/06/2003

Tomcorreia

Amigo, tive um problema muito grande com isto. Assim, como fiz:

1º Crie as seguintes funções:

procedure StartTransaction;
begin
dm1.Transaction1.Active := false;
dm1.Transaction1.StartTransaction;
dm1.Transaction1.Active := true;
end;

procedure CommitTransaction;
begin
dm1.Transaction1.CommitRetaining;
dm1.Transaction1.Active := False;
dm1.Transaction1.Active := True;
end;

procedure RollbackTransaction;
begin
dm1.Transaction1.Rollback;
dm1.Transaction1.Active := False;
dm1.Transaction1.Active := True;
end;

2º Dando um duplo click em ibtransaction escolha a opção Read Comitted

3º Ao incluir, escluir ou atualizar, ou seja: insert, update, delete use o seguinte:


StartTransaction;
dm1.Query1.Close;
dm1.Query1.Sql.Text := ´insert into cliente(clicod) values(:codigo)´;
.
.
.
dm1.Query1.ExecSql;
CommitTransaction;


Qualquer duvida:
icq: 162211254


Responder

Gostei + 0

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

Aceitar