AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • Operación de lectura basada en una clave
  • Comparación entre <Fuente>.Next y .ReadNext
  • 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 <Fuente>.RecNum. Para las funciones que manipular el número actual de Record (<Fuente>.Delete, <Fuente>.Read, <Fuente>.Modify, etc.), el valor de este número no se actualiza: se debe utilizar la función <Fuente>.RecNum(). Por ejemplo: no hacer:
Customer.Delete()
pero
Customer.Delete(Customer.RecNum())
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, <Fuente>.Next establece la posición en el archivo de datos para recorrer los registros que coinciden con una condición. <Fuente>.Next se utiliza para posicionarse en el siguiente Record correspondiente a la condición.
Después de llamar a la función <Fuente>.Next, se pueden producir los siguientes casos:
  • se encontró un registro que corresponde a la condición: <Fuente>.Found devuelve True
  • el archivo de datos está vacía o no hay Record correspondiente a la condición: <Fuente>.Out devuelve True
Observaciones:

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 <Fuente>.Next establece la posición al recorrer el archivo de datos.
Después de llamar a la función <Fuente>.Next, 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 <Fuente>.Filter): La función <Fuente>.Out devuelve True
  • la función intenta bloquear un registro ya bloqueado en modo de lectura: las funciones HErrorLock y <Fuente>.Out devuelven True.
Ejemplo
Customer.First(Name)
WHILE Customer.Out() = False
// Process the record
Customer.Next(Name)
END
Sintaxis
<Result> = <Source>.Hnext([<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 <Fuente>.Found 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.
<Source>: Tipo de fuente especificada
Nombre del archivo de datos HFSQL.
<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 <Fuente>.Next 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 <Fuente>.Next:
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.
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 <Fuente>.ReadNext seguirá siendo efectivo cuando se llame a las funciones <Fuente>.ReadFirst y <Fuente>.ReadPrevious.
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 <Fuente>.LockRecNum) conservadas por motivos de compatibilidad.
Observaciones

Operación de lectura basada en una clave

La función <Fuente>.Next 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 <Fuente>.Next y <Fuente>.ReadNext

La función <Fuente>.Next no lee el registro: por lo tanto, la función <Fuente>.Next es más rápida que la función <Fuente>.ReadNext.

Varios

  • La función <Fuente>.RecNum devuelve el número de registro actual.
  • La función <Fuente>.ChangeKey cambia la clave de búsqueda conservando la posición en el registro actual.
Reportes y ConsultasHFSQL 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 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 20/06/2023

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