FoxPro/Visual FoxPro - Bloquear registro

   
Vista:

Bloquear registro

Publicado por Salvador Angeles (21 intervenciones) el 07/03/2013 00:38:42
Buenas tardes, tengo un sistema que al guardar una captura, bloqueo la tabla para no permitir que lean o escriban en ella con DO WHILE .NOT. FLOCK('tabla') message 'tabla ocupada' ENDDO. y para liberarla uso UNLOCK.

mi pregunta es si estoy en lo correcto o hay otra manera de hacerlo, ya que mis usuarios me han dicho que hay veces que se mezclan los datos, lo extraño es que no es continuo.

quedo en espera de sus valiosos cometarios.

Saludos!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Bloquear registro

Publicado por Fidel (558 intervenciones) el 07/03/2013 16:21:24
En general, no es recomendable el bloqueo de tablas. No tiene nada que ver con que se mezclen datos. Algunos comando bloquean la tabla (Append from, por ejemplo). Cuando actualizas por registro, para bloqueo manual, conviene usar RLOCK() y UNLOCK
select cTabla
if rlock()
replace loquesea por loquefuere
unlock
endif
FLUSH

No sé qué es lo que capturas, pero busca de evitar los bloqueos de tablas.
También debes estudiar trabajar con CursorSetProp(), buffering=5, SET MULTILOCKS ON y TableUpdate(.t.)/TableRevert(). Con esto no necesitas LOCK() UNLOCK ni FLUSH.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar