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
  • Operación de lectura basada en una clave
  • Comparación entre HNext y HReadNext
  • Varios
  • Bloqueos
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
Establece la posición en el siguiente registro del archivo de datos según un campo de navegación. El registro no se lee.
El número de la Record actual se modifica sólo cuando es devuelto por HRecNum. Para las funciones que manipular el número actual de Record (HDelete, HRead, HModify, etc.), el valor de este número no se actualiza: se debe utilizar la función HRecNum(). Por ejemplo: no hacer:
HDelete(Customer)
pero
HDelete(Customer, HRecNum())
Los valores de la posición de búsqueda se leen en orden ascendente (ver Observaciones para más detalles).
Atención: El registro cargado en memoria no se modifica. Las variables HFSQL (por ejemplo, Cliente.Nombre, es decir el elemento Nombre del archivo Cliente) no se actualizan.
En la mayoría de los casos, HNext establece la posición en el archivo de datos para recorrer los registros que coinciden con una condición. HNext se utiliza para posicionarse en el siguiente Record correspondiente a la condición.
Después de llamar a la función HNext, se pueden producir los siguientes casos:
  • se encontró un registro que corresponde a la condición: HFound devuelve True
  • el archivo de datos está vacía o no hay Record correspondiente a la condición: HOut devuelve True
Observaciones:
  • Mediante Default, HSeekFirst y HSeekLast se realiza una búsqueda de coincidencia exacta.
  • Mediante Default, HNext se realiza una búsqueda genérica.

Los valores del campo de navegación se leen en orden ascendente (para obtener más información, consulte las observaciones).
Atención: El registro cargado en memoria no se modifica. Las variables HFSQL (por ejemplo, Customer.Name, es decir el campo Name del archivo Customer) no se actualizan.
Generalmente, la función HNext establece la posición al recorrer el archivo de datos.
Después de llamar a la función HNext, se pueden producir los siguientes casos:
  • el archivo de datos está vacío o ningún registro corresponde al filtro (definido con la función HFilter): La función HOut devuelve True
  • la función intenta bloquear un registro ya bloqueado en modo de lectura: las funciones HErrorLock y HOut devuelven True.
    Java Acceso con JDBC: Los bloqueos no se pueden gestionar en bases de datos a las que se accede mediante JDBC.
Ejemplo
HFirst(Customer, Name)
WHILE HOut(Customer) = False
// Process the record
HNext(Customer, Name)
END
Sintaxis
<Result> = HNext([<Data file> [, <Search key item>] [, <Options>]])
<Result>: booleano
  • True si se estableció la posición,
  • False si se ha producido un error. Este problema puede ser causado por:
    • un problema de posicionamiento (archivo de datos vacío, etc.): la función HFound devuelve False y la función HError devuelve 0.
    • un error: la función HError devuelve un número entero distinto de 0. La función HErrorInfo devuelve más detalles.
<Data file>: Cadena de caracteres opcional
Nombre del archivo de datos HFSQL. Si este parámetro es una cadena vacía (""), HNext manipula el último archivo de datos utilizado por la última función HFSQL (función que empieza por "H").
<Search key item>: Cadena de caracteres opcional
Nombre del campo clave utilizado para recorrer el archivo de datos. Si no se especifica este nombre, la función HNext manipula el último campo de navegación utilizado en el archivo de datos por la última función de gestión HFSQL (función que empieza por "H"). Si este campo no existe, el mejor campo de navegación se utiliza automáticamente.
<Options>: Constante opcional
Configura el bloqueo y la gestión de duplicados realizados en el registro seleccionado con la función HNext:
hDistinctSi hay duplicados, establece la posición en un solo registro de los duplicados. Este parámetro solo se tiene en cuenta si se recorre un campo clave.
De forma predeterminada, se recorren todos los duplicados.
OLE DBConectores Nativos Esta constante no se tiene en cuenta.
hLockNoSin bloqeuo: otras aplicaciones pueden leer o modificar el registro.
hLockReadWriteBloqueo de lectura y escritura: el registro seleccionado no puede ser leído o modificado por otra aplicación.
OLE DB Bloqueo de solo escritura: el registro leído actualmente puede ser leído por otra aplicación, pero no se puede modificar.
Modo de funcionamiento equivalente al de hLockWrite.
hLockWriteBloqueo de escritura: el registro seleccionado puede ser leído por otra aplicación pero no se puede modificar.
Java Acceso con JDBC: Este parámetro no se tiene en cuenta.
OLE DBConectores Nativos Las opciones de bloqueo no tendrán efecto si el proveedor OLE DB o el Conector Nativo no soporta los bloqueos.
OLE DB El modo de bloqueo especificado con la función HReadNext seguirá siendo efectivo cuando se llame a las funciones HReadFirst y HReadPrevious.
Para cambiar el modo de bloqueo, utilice:
Hyper File 5.5 Las opciones de bloqueo no se tienen en cuenta. Utilice las funciones de bloqueo (función HLockRecNum) conservadas por motivos de compatibilidad.
Observaciones

Operación de lectura basada en una clave

La función HNext establece la posición en el siguiente registro con el valor de clave más alto. El criterio de ordenación que se tiene en cuenta es el especificado en el análisis para esta clave.

Comparación entre HNext y HReadNext

La función HNext no lee el registro: por lo tanto, la función HNext es más rápida que la función HReadNext.

Varios

  • La función HRecNum devuelve el número de registro actual.
  • La función HChangeKey cambia la clave de búsqueda conservando la posición en el registro actual.
WINDEVUniversal Windows 10 AppJavaCódigo de Usuario (UMC)Lenguaje ExternoHFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE DBConectores Nativos

Bloqueos

De forma predeterminada (parámetro <Options> no especificado), no se bloquean los registros.
Si se solicita un bloqueo (constante hLockWrite o hLockReadWrite), la posición se establece en el registro solo si este aún no está bloqueado.
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: 14/12/2023

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