Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luciano Fernandes

Problema ao Grava no Firebird

Recommended Posts

Grava um novo setor por exemplo, o um outro usuário não vê esse novo registro, a não ser

que feche a conecção com o Banco. Dm.IBDataBase.close.

 

Delphi 7, IBExpress e Firebird 2.1.

 

Não tem uma opção de auto commit ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tipo de componentes usa? A aplicação roda em rede? Se sim, se o outro usuário refizer a pesquisa após a inclusão o sistema não atualiza o dado? Uma alteração feita no BD só aparecerá em outra máquina na rede se após a inclusão o outro usuário fizer a pesquisa novamente... não há como fazer algo aparecer magicamente em todas as telas abertas imediatamente após a sua inclusão no BD sem que o usuário dispare uma pesquisa para atualizar os dados.

 

Explique melhor as variáveis que se aplicam ao seu caso para que possamos ajudar, com um exemplo mais prático.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tipo de componentes usa? A aplicação roda em rede? Se sim, se o outro usuário refizer a pesquisa após a inclusão o sistema não atualiza o dado? Uma alteração feita no BD só aparecerá em outra máquina na rede se após a inclusão o outro usuário fizer a pesquisa novamente... não há como fazer algo aparecer magicamente em todas as telas abertas imediatamente após a sua inclusão no BD sem que o usuário dispare uma pesquisa para atualizar os dados.

 

Explique melhor as variáveis que se aplicam ao seu caso para que possamos ajudar, com um exemplo mais prático.

 

[]'s

 

Sim o sistema roda em rede, e sim o usuário faz essa pesquisa. O Problema é o seguinte, estou cadastrando uma venda por exemplo e está faltando um produto. Dai ele pede para outra pessoa (usuário) cadastrar esse produto, depois de feito, no cadastro de venda esse produto ainda não está lá, ou seja, tenho que abrir e fechar a conexão com o banco para está disponível nesse usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que componentes você usa para gravar e ler os dados do BD? Query? Table? O que? Como é a estrutura que usa para gravar/recuperar os dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que componentes você usa para gravar e ler os dados do BD? Query? Table? O que? Como é a estrutura que usa para gravar/recuperar os dados?

 

Paleta de Componentes Interbase (IB)

IBQuery.Append //Libera a inserção

IBQuery.ApplyUpdates //Grava

 

IBQuery.sql.text //faço o select para as consultas

IBQuery.open //rodo o select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com esse mesmo problema, tem algum modo de dar um commit automatico?

Utilizo a estrutura abaixo:

 

SQLConnection

TSQLQuery

TDataSetProvider

TClientDataSet

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem uma opção de auto commit ?

 

Amigo vamos tentar resolver o seu problema..

Pelo que vi você usa os componentes da paleta InterBase

 

Então no seu caso a solução seria configurar o TIBTransaction para Read Committed

para fazer isso de um click duplo sobre o componente e marque a opção "Read Committed"

 

ou vá na propriedade Params

e coloque:

 

read_committed
rec_version
nowait

Isso fara com que cada vez que fassa uma pesquisa, atualize os dados.

Acredito que assim você resolvera seu problema.

 

Já no caso do nosso amigo Fiamenghi

Verifique se o SQLConnection está configurado para ReadCommitted

para isso é só dar um click duplo sobre ele e ver se a opção "Translsolation" está para "ReadCommitted"

 

Abraços e boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.