Portal de Visual FoxPro MK
  BiblioT
 

2P Proyecto Biblioteca

1. FORMULARIO DE REGISTRO DE LECTORES…..

2. FORMULARIO DE REGISTRO DE BIBLIOTECARIOS

3. FORMULARIO DE FICHA DE PRESTAMOS

4. FORMULARIO DE DEVOLUCIONES DE LIBROS

5. EJEMPLO DE MENU PRINCIPAL

********************************************************************

AQUI ESTA EL EJEMPLO DE BUFFER…. BAJENLO E IMPRIMANLO

EJEMPLO DE BUFFER

*******************************************************************

(Comando) Alcance del bloqueo
ALTER TABLE Toda la tabla


APPEND Encabezado de la tabla
APPEND FROM Encabezado de la tabla
APPEND FROM ARRAY Encabezado de la tabla
APPEND MEMO Registro activo
BLANK Registro activo
BROWSE, CHANGE y EDIT Registro actual y todos los registros de campos con alias de tablas relacionadas cuando comienza la edición de un campo
CURSORSETPROP( ) Depende de los parámetros
DELETE Registro activo
DELETE NEXT 1 Registro activo
DELETE RECORD n Registro n
DELETE de más de un registro Toda la tabla
DELETE – SQL Registro activo
GATHER Registro activo
INSERT Toda la tabla
INSERT – SQL Encabezado de la tabla
MODIFY MEMO Registro actual cuando comienza la edición
READ Registro actual y todos los registros de campos con alias
RECALL Registro activo
RECALL NEXT 1 Registro activo
RECALL RECORD n Registro n
RECALL de más de un registro Toda la tabla
REPLACE Registro actual y todos los registros de campos con alias
REPLACE NEXT 1 Registro actual y todos los registros de campos con alias
REPLACE RECORD n Registro n y todos los registros de campos con alias
REPLACE de más de un registro Toda la tabla y todos los archivos de campos con alias
SHOW GETS Registro actual y todos los registros de campos con alias
TABLEUPDATE( ) Depende del almacenamiento en búfer
UPDATE Toda la tabla
UPDATE – SQL Toda la tabla

Ejemplo: bloqueo automático

En el ejemplo siguiente, el usuario bloquea automáticamente el encabezado de la tabla; para
ello, anexa registros de otra tabla, aunque Lectores se haya abierto como un archivo
compartido.

SET EXCLUSIVE OFF USE Lectores APPEND FROM Libros FOR AñoEd = 2008

Bloqueo manual

Puede bloquear manualmente un registro o una tabla mediante las funciones de bloqueo.

Para bloquear manualmente un registro o una tabla

  • Utilice uno de estos comandos:
    RLOCK() LOCK() FLOCK()

RLOCK( ) y LOCK( ) son idénticos y bloquean uno o más registros. FLOCK( ) bloquea un archivo.
Las funciones LOCK( ) y RLOCK( ) pueden aplicarse a un encabezado de tabla.
Si especifica 0 como el registro para LOCK( ) o RLOCK( ) y la prueba indica que el encabezado está desbloqueado,
la función bloqueará el encabezado y devolverá True (.T.).

Una vez bloqueado un registro o una tabla, asegúrese de liberar el bloqueo mediante el comando UNLOCK lo
antes posible para proporcionar acceso a otros usuarios.

Estas funciones de bloqueo manual realizan las siguientes acciones:

Comprueban el estado de bloqueo del registro o la tabla.
Si la prueba indica que el registro está desbloqueado, bloquean el registro o la tabla y devuelven True (.T.).
Si no se puede bloquear el registro o la tabla, vuelven a intentarlo, dependiendo del valor actual de SET REPROCESS.
Devuelven True (.T.) o False (.F.), indicando si el intento de bloqueo ha tenido éxito o no.  

Sugerencia   Si desea comprobar el estado de bloqueo de un registro en la sesión sin bloquear el registro,
use la función ISRLOCKED( ) o ISFLOCKED( ).

Si falla el intento de bloquear un registro o una tabla, el comando SET REPROCESS y la rutina de error actual
determinarán si vuelve a intentarse el bloqueo. SET REPROCESS afecta al resultado de un intento de bloqueo
sin éxito.
Puede controlar el número de intentos de bloqueo o el período de tiempo durante el cual se intenta un bloqueo
mediante SET REPROCESS.

Ejemplo: bloqueo manual

El ejemplo siguiente abre la tabla customer para acceso compartido y utiliza FLOCK( ) para intentar bloquearla.
Si la tabla se bloquea con éxito, REPLACE ALL actualizará todos sus registros. UNLOCK libera el bloqueo de archivo.
Si el archivo no puede bloquearse porque otro usuario haya bloqueado el archivo o uno de sus registros, se mostrará
un mensaje.

Desbloquear datos

Después de establecer un bloqueo de registro o de archivo y completar una operación de datos en un entorno
compartido, deberá liberar el bloqueo lo antes posible. Hay varios modos de liberar los bloqueos. En algunos
casos, basta con desplazarse al registro siguiente para desbloquear los datos. En otros casos es preciso ejecutar
comandos explícitos.

Para desbloquear un registro que se ha bloqueado automáticamente, sólo necesitará mover el puntero de registro,
aunque haya establecido MULTILOCKS ON. No obstante, deberá eliminar explícitamente el bloqueo de un
registro que haya bloqueado manualmente; mover el puntero de registro no es suficiente.

En la tabla siguiente se describen los efectos que producen diversos comandos sobre el bloqueo manual
y automático de registros y tablas.

(Comando) Efecto
UNLOCK Libera los bloqueos de registro y archivo en el área de trabajo actual.
UNLOCK ALL Libera todos los bloqueos de todas las áreas de trabajo de la sesión actual.
SET MULTILOCKS OFF Activa la liberación automática del bloqueo actual al asegurar un bloqueo nuevo.
FLOCK( ) Libera todos los bloqueos de registro del archivo afectado antes de bloquear el archivo.
CLEAR ALL, CLOSE ALL,
USE, QUIT
Libera todos los bloqueos de registro y archivo.
END TRANSACTION Libera los bloqueos automáticos.
TABLEUPDATE( ) Libera todos los bloqueos antes de actualizar la tabla.

Precaución   Si se ha bloqueado automáticamente un registro en una función definida por el usuario y
se desplaza el puntero fuera del registro y se vuelve a colocar sobre él, el bloqueo se liberará. Utilice el
almacenamiento de tablas en búfer para evitar este problema.

SET REPROCESS TO (Comando) Especifica cuántas veces o durante cuánto tiempo intenta Visual FoxPro bloquear un archivo o un registro después de que fracase un intento de bloqueo.
 
 
  Hoy habia 13 visitantes (19 clics a subpáginas) ¡Aqui en esta página!  
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis