Page 1 of 1
DATABASE
Posted: Sun Sep 24, 2006 7:18 am
by Manuel Valdenebro
Si estoy utilizando la clase DATABASE:
Local oDbf
USE ficheros
DATABASE oDbf
If lAlta
oDbf:BLANK()
else
oDbf:LOAD()
endi
. . .
. . .
oDbf:UNLOCK() para que se usa.
Si quiero cerrar el objeto oDbf, pero no cerrar la base de datos, que comando/funcion debo usar?
Un saludo
Posted: Sun Sep 24, 2006 9:00 am
by Antonio Linares
Manuel,
> oDbf:UNLOCK() para que se usa.
Para ser llamado a continuación de una llamada directa a oDbf:Lock() ó oDbf:RecLock()
>
Si quiero cerrar el objeto oDbf, pero no cerrar la base de datos, que comando/funcion debo usar?
>
El objeto oDbf no es necesario que sea cerrado. Al salir del ámbito de una función, el recolector de basuras de Harbour lo destruye y ya está.
Posted: Sun Sep 24, 2006 9:53 am
by Manuel Valdenebro
Antonio, gracias por contestar:
Normalmente, cuando voy a grabar los datos de Odbf al fichero, y antes de hace odbf:SAVE(), bloqueo el registro de la forma habitual en Clipper:
Lock()
oDbf:Save()
Unlock
oDbf:Unlock es similar a usar Unlock ?
y siguiendo con el simil, oDbf:Close cierra la base de datos igual que el comando CLOSE?
Posted: Sun Sep 24, 2006 12:24 pm
by Frafive
Manuel , Cuando haces un oDbf:save y la base la tienes en modo compartido no hace falta bloquear el registro, el metodo save ya se encarga de hacerlo, oDbf:Unlock es igual que Unlock y cuando hace un oDbf:close estas cerrando la base de datos, una cosa muy importante para utilizar la clase database es no mezclar codigo de los metodos de la database con los comandos.
Posted: Sun Sep 24, 2006 1:10 pm
by Antonio Linares
Manuel,
> oDbf:Unlock es similar a usar Unlock ?
Sí
>
y siguiendo con el simil, oDbf:Close cierra la base de datos igual que el comando CLOSE?
>
Sí
Posted: Sun Sep 24, 2006 1:11 pm
by Antonio Linares
Manuel,
Como te comenta Frafive, el método Save() se encarga de los bloqueos. Revisa el código fuente de la clase TDataBase.
Posted: Sun Sep 24, 2006 7:59 pm
by Manuel Valdenebro
Muchas gracias Antonio y Frafive