|
|
|
|
- Operación de lectura basada en una clave
- Comparación entre HNext y HReadNext
- Varios
- Bloqueos
HNext (Función)
No disponible con este tipo de conexión
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:
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.
Acceso con JDBC: Los bloqueos no se pueden gestionar en bases de datos a las que se accede mediante JDBC.
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: | | hDistinct | Si 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.
| hLockNo | Sin bloqeuo: otras aplicaciones pueden leer o modificar el registro. | hLockReadWrite | Bloqueo de lectura y escritura: el registro seleccionado no puede ser leído o modificado por otra aplicación. | hLockWrite | Bloqueo de escritura: el registro seleccionado puede ser leído por otra aplicación pero no se puede modificar. |
Para cambiar el modo de bloqueo, utilice: 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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|