AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • Modificar el tipo de bloqueo en un registro
  • Efecto del modo de bloqueo
  • Error de bloqueo
  • Número de bloqueos
  • Conector Nativo SQL Server: Bloqueo de escritura
  • Gestión de bloqueos en OLE DB
  • Persistencia del bloqueo
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Bloquea un registro y e impide que las demás aplicaciones accedan a él. El registro podrá desbloquearse con la función HUnlockRecNum.
Observación: Después de llamar a la función HLockRecNum, se pueden producir los siguientes casos:
  • El registro ya está bloqueado por otra aplicación: no se puede realizar el bloqueo.
  • El archivo de datos que contiene el registro está completamente bloqueado.: no se puede realizar el bloqueo.
Por defecto, se realiza una gestión automática de errores de bloqueo y de conflictos de modificación (excepto en el código de procedimientos almacenados). La gestión automática de errores se puede personalizar o desactivar en cualquier momento con la función HOnError.
La función HErrorLock devuelve True si se produce un problema de bloqueo.
Atención: La función HLockRecNum debe utilizarse con precaución: durante el bloqueo, el registro no se vuelve a leer. Por lo tanto, puede que se haya eliminado o modificado desde la última vez que se accedió a él. Se recomienda utilizar HRead con una opción de bloqueo.
Java Esta función sólo está disponible para los archivos de datos HFSQL. No está disponible para los archivos de datos a los que accede con JDBC.
Ejemplo
// Lock a record in the Customer data file
HLockRecNum(Customer, hCurrentRecNum, hLockReadWrite)
// Process on the record
...
// Restore access to the record
HUnlockRecNum()
Sintaxis
<Result> = HLockRecNum([<Data file> [, <Record to lock>]] [, <Lock>])
<Result>: booleano
  • True si se realizó la operación,
  • False si se produce un problema. La función HError permite identificar el error.
<Data file>: Cadena de caracteres opcional
Nombre del archivo de datos utilizado.
Si no se especifica este nombre, la función HLockRecNum utilizará el último archivo de datos utilizado por la última función HFSQL (que empieza por "H").
<Record to lock>: Entero opcional
Número del registro a bloquear.
Si no se especifica este parámetro, HLockRecNum será manipular el Record actual.
Conectores Nativos La función HLockRecNum solo bloquea el registro actual. No puede especificar un número Record que no sea el actual (para especificar el número Record actual, utilice la constante hRecNumCurrent ).
<Lock>: Constante opcional de tipo Integer
Sirve para definir el tipo de bloqueo establecido en el Record.
hLockNoNingún bloqueo: otras aplicaciones pueden leer o modificar el registro.
hLockReadWriteBloqueo de lectura/escritura: otras aplicaciones no pueden leer ni modificar el registro del archivo de datos.
La otra aplicación no podrá bloquear el Record o el el archivo de datos.
hLockWrite
(valor predeterminado)
Bloqueo de escritura: otras aplicaciones pueden leer el registro del archivo de datos pero no modificarlo.
La otra aplicación no podrá bloquear el Record o el el archivo de datos.
Observaciones

Modificar el tipo de bloqueo en un registro

Para modificar el tipo de bloqueo de un registro, llame a la función HLockRecNum con el tipo de bloqueo deseado. No es necesario desbloquear el registro.

Efecto del modo de bloqueo

Si el modo de bloqueo el archivo de datos se establece en hModeMono (ver HMode ), HLockRecNum 02f0045004c0054003000300030003000300030002f002300 no tiene efecto.

Error de bloqueo

Si el registros ya está bloqueado, la solicitud de bloqueo se repite HNbRetry veces (50 por defecto).
Si al cabo de H.NbRetry intentos no se puede bloquear el archivo de datos, la función HErrorLock devuelve True. La variable H.Level indica si el registro o el archivo de datos está bloqueado.

Número de bloqueos

El número de registros que se pueden bloquear individualmente en un archivo de datos es ilimitado.
WINDEVWEBDEV - Código ServidorReportes y ConsultasAjaxProcedimientos almacenadosConectores Nativos

Conector Nativo SQL Server: Bloqueo de escritura

HLockRecNum bloquea el Record en modo de escritura, no en modo de solo lectura. Por lo tanto, la función HLockRecNum impide que otro equipo modifique el registro.
Al utilizar la función HLockRecNum en un registro bloqueado, esta NO devuelve errores de bloqueo (porque solo se realiza una lectura).
Sin embargo, la función HModify devolverá un error de bloqueo en el registro bloqueado.
WINDEVWEBDEV - Código ServidorReportes y ConsultasAjaxProcedimientos almacenadosOLE DB

Gestión de bloqueos en OLE DB

La función HLockRecNum no está soportada. Esta función genera el error no fatal "Operación no válida en este tipo de base de datos".
WINDEVWEBDEV - Código ServidorAjaxConectores Nativos

Persistencia del bloqueo

Con los Conectores Nativos SQLServer y Sybase, un registro bloqueado con la función HLockRecNum se desbloquea cuando se vuelve a leer.
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 06/07/2023

Señalar un error o enviar una sugerencia | Ayuda local