SQL-InterBase Avançados

Delphi

02/06/2003

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

Curtidas 0

Respostas

Obubiba

Obubiba

02/06/2003

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.


GOSTEI 0
Tomcorreia

Tomcorreia

02/06/2003

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


GOSTEI 0
POSTAR