Página 1 de 1

atualizar banco de dados

Enviado: 20 Dez 2006 16:18
por ederxc
pessoal é o seguinte, quando acabo de fazer um cadastro seja em qualquer tabela e vou imprimir , simplesmente o sistema ñ acha este ultimo cadastro até eu feche o sistema e entre novamente ou seja acabei de lançar e fica inativo até que abandone e entre novamente no sistema

obs: clipper puro !

Enviado: 20 Dez 2006 17:26
por Clipper
Use no final da inclusão :

DBUNLOCK()
DBCOMMIT()

Até logo.

Marcelo

Enviado: 20 Dez 2006 18:06
por ederxc
cara seguinte o dbunlock sei que serve parav destracar o banco de dados , agora este commit .. qual é sua função ! Obrigado

Enviado: 20 Dez 2006 18:51
por sygecom
Cara não toh bem certo mas ele serve pra atualizar o seu cache..ou melhor descarregar ele e atualizar seus dados nos seus DBF !!

Abraços

Enviado: 20 Dez 2006 21:34
por Clipper
Exatamente, ele descarrega os caches e grava os dados fisicamente.

Até logo.

Marcelo

Enviado: 21 Dez 2006 09:42
por ederxc
brigadão galara!

Enviado: 24 Dez 2006 17:41
por gvc
Aproveitando o chamado:
- dbcommit() - força a gravação dos dados que estão no buffer da máquina.
- dbunlock() - desbloquei o registro ou arquivo.

Um detalhe importante, sempre use dbcommit e depois o dbunlock().
Assim vc grava os dados e depois libera o registro para os outros usuários.
Pode parecer estranho, mas a inversão deles poder abrir um "buraco" no seu sistema. Usuário1 libera o registro e o usuário2 pega as informações antes do usuário1 atualizar os dados. Esse é um problema intermitente, vc só perceberá depois de muita "briga" com o sistema e com o usuário.
Os tempos são minimos, não dá nem um segundo, mas em informática isso é uma eternidade.
Essa é uma daquela "mancadinha" que só depois de algum tempo aprendemos.

Boa sorte.