Commit no Delphi x Interbase

Firebird

12/02/2008

Olá. Estou desenvolvendo um sistema com Delphi 7 e Interbase 6 e tenho a seguinte situação: no evento OnCalcFields da tabela estou fazendo a somatória de uma coluna da grid e exibindo o resultado em um label. Até aí, tudo bem. O Delphi atualiza a grid qdo deleto ou incluo algum registro porém o banco de dados não é atualizado (não é dado COMMIT no banco) e a query que faz a somatória da coluna vê o banco sem as alterações. Como resolver? Estou usando os componentes IBTable, IBTransaction e DataSource. Pode me indicar um bom livro sobre Delphi x Interbase? Obrigada. Tavane.


Tavane

Tavane

Curtidas 0

Respostas

Edilcimar

Edilcimar

12/02/2008

Uma vez que inicialmente está funcionando, isto prova que você não está dando um ´refresh´ na tabela, algumas vezes é necessário abrir e fechar novamente a query, livro Dominando Firebird (também serve para IB) da Helen Borrie


GOSTEI 0
Tavane

Tavane

12/02/2008

Olá. Agradeço por ter respondido. O que achei estranho é que após inserir/deletar um registro na grid, a grid é atualizada porém, se faço um select na tabela via IBConsole o resultado não considera a inserção/deleção do registro. E a somatória dos itens é feita através de um select no banco, portanto ela vê os dados antes de inserir/deletar o registro. Parece que não foi dado COMMIT no banco de dados. Se eu fechar o formulário e abrir novamente, aí atualiza o meu select.


GOSTEI 0
POSTAR