|
|
|
|
- Lectura o no de la operación según un elemento clave
- Memos
- Recorrer en bucle los registros que coinciden con una condición
- Modificar el valor de la clave de búsqueda
- Bloqueos
- Varios
<Fuente>.ReadNext (Función)
No disponible con este tipo de conexión
Establece la posición en el siguiente registro del archivo de datos de acuerdo con un elemento de navegación. Se lee el registro y se actualizan las variables HFSQL (por ejemplo, Cliente.Nombre, es decir, el elemento/campo Nombre del archivo de datos Cliente). Los valores de la posición de búsqueda se leen en orden ascendente (véase observaciones para más detalles). La función <Fuente>.ReadNext permite posicionarse en el archivo de datos durante un bucle de navegación. Esta función sólo se puede ejecutar: Tras la llamada a <Fuente>.ReadNextpueden darse varios casos:
- el archivo está vacío o ninguna record corresponde al filtro (definido por <Fuente>.Filter): no se realiza ninguna lectura y la función <Fuente>.Out devuelve True.
- la función intenta bloquear un registro ya bloqueado en modo de lectura: no se realiza ninguna operación de lectura, HErrorLock devuelve True y <Fuente>.Out devuelve True.
Acceso con JDBC: La gestión de las cerraduras no está disponible para las bases de datos a las que accede el JDBC.
Esta función se puede utilizar con archivos de datos, vistas HFSQL o consultas.
Customer.ReadFirst(Name) WHILE Customer.Out() = False // Process the record Customer.ReadNext(Name) END
Sintaxis
<Result> = <Source>.ReadNext([<Browse item> [, <Options>]])
<Result>: Booleano Corresponde a: - False si se produce un error. En este caso, HError devuelve un número entero distinto de 0. HErrorInfo devuelve más detalles sobre el error. El registro no se lee.
- el valor de la función <Fuente>.Found en los demás casos (se puede leer el registro, incluso si <Resultado> devuelve False).
<Source>: Tipo de fuente especificada Nombre del archivo de datos, vista o consulta utilizada. <Browse item>: Cadena de caracteres opcional Nombre del elemento utilizado para el bucle de el archivo de datos, vista o consulta. Si no se especifica este nombre, la función <Fuente>.ReadNext utilizará:- Para un archivo de datos: el último elemento de navegación utilizado en este archivo de datos por la última función de gestión HFSQL (que comienza con la letra H). Si este elemento no existe, se utiliza automáticamente el mejor elemento de navegación.
- For a query: el PEDIDO POR de la consulta si existe, en caso contrario el último ítem utilizado.
- Para una vista: el elemento de ordenación de la vista (si existe), en caso contrario el último elemento utilizado.
<Options>: Constante o combinación de constantes opcional Permite configurar:- el bloqueo establecido en el record leído por <Fuente>.ReadNext
- la gestión de duplicados. Por Default, todos los duplicados son examinados.
| | hDistinct | Si se encuentran duplicados, esta constante permite leer una sola Record entre los duplicados. Este parámetro sólo se tiene en cuenta si la búsqueda se realiza en un elemento clave.
| hLockNo | Sin bloqeuo: la Record puede ser leída o modificada por otra aplicación durante la lectura. | hLockReadWrite | Bloqueo de lectura/escritura: el Record que se lee actualmente no puede ser leído o modificado por otra aplicación. | hLockWrite | Bloqueo de escritura: el Record que se lee actualmente puede ser leído por otra aplicación pero no puede ser modificado por otra aplicación. |
Observaciones Lectura o no de la operación según un elemento clave Si el elemento utilizado es una clave, la función <Fuente>.ReadNext lee el registro con el valor de clave más alto. El orden de clasificación es el que se especificó en el análisis para esta clave. Observación: En el caso de un bucle de búsqueda (función <Fuente>.ReadSeekFirst, por ejemplo), cuando la función <Fuente>.ReadNext lee el registro con el valor más elevado de la clave, <Fuente>.Found le permite saber si el registro corresponde (o no) al criterio de ordenación. Si el elemento no es una clave, la función <Fuente>.ReadNext lee el siguiente registro activo. Al navegar por el archivo de datos, los Record s se ordenarán según su número de Record. En este caso, el elemento de navegación seleccionado aparecerá en rojo en el editor de código y se mostrará una advertencia en la pantalla de "Panel"Código. Memos Los memos asociados con el Record pueden ser leídos automáticamente (o no) cuando se lee el Record. <Fuente>.SetMemo se utiliza para personalizar esta operación de lectura de automatic. Si los memos están soportados, los memos de texto asociados se leen cuando se lee la Record. Los memos binarios sólo se leen cuando se utilizan explícitamente ( <Fuente>.ExtractMemo). Recorrer en bucle los registros que coinciden con una condición - si el elemento utilizado es una clave, la función <Fuente>.ReadNext leerá los siguientes registros que corresponden a los valores superiores o iguales al valor buscado.
- si el elemento utilizado no es una clave, <Fuente>.ReadNext leerá los siguientes registros correspondientes a los valores iguales al valor buscado.
Para ignorar la búsqueda mientras se va a la siguiente o anterior Record, utilice una de las siguientes funciones: Modificar el valor de la clave de búsqueda Si el valor del elemento de navegación se modifica antes de utilizar <Fuente>.ReadNext, el Record actual puede volver a ser leído por <Fuente>.ReadNext en el resto de la navegación. Al modificar el elemento de exploración se actualiza la clave del índice del archivo. Esta modificación se tiene en cuenta al leer los siguientes registros. Esta observación también es válida al utilizar la función <Fuente>.ReadNext sin clave de búsqueda en una consulta ordenada (ORDER BY). Varios - El número actual de Record es devuelto por <Fuente>.RecNum.
- <Fuente>.ChangeKey se utiliza para modificar la clave de búsqueda mientras se mantiene posicionada en el record actual.
- Para optimizar las primeras iteraciones en un archivo de datos, utilice <Fuente>.Optimize en este archivo de datos.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|