AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Administrar bases de datos / HFSQL / Funciones HFSQL
  • Lectura de la operación según una clave
  • comparison entre <Fuente>.Previous y .ReadPrevious
  • 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 registro anterior del archivo de datos de acuerdo con un elemento de navegación. TEl Record 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>.Previous 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>.Previous, 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:
  • Mediante Default, <Fuente>.SeekFirst y <Fuente>.SeekLast se realiza una búsqueda de coincidencia exacta.
  • Mediante Default, <Fuente>.Previous se realiza una búsqueda genérica.

Los valores de la posición de búsqueda se leen en orden descendente (véase observaciones para más detalles).
Atención: El Record cargado en la memoria no está modificado. 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>.Previous se utiliza para posicionar en el archivo de datos durante un bucle de navegación.
Tras la llamada a <Fuente>.Previouspueden darse varios casos:
  • el archivo de datos está vacía o ningún record corresponde al filtro (definido por <Fuente>.Filter): <Fuente>.Out devuelve True.
  • la función intenta bloquear un registro ya bloqueado en modo de lectura: HErrorLock devuelve True y <Fuente>.Out devuelve True.
    Java Acceso con JDBC: La gestión de las cerraduras no está disponible para las bases de datos a las que accede el JDBC.
Ejemplo
Customer.Last(Name)
WHILE Customer.Out() = False
// Process the record
Customer.Previous(Name)
END
Sintaxis
<Result> = <Source>.Previous([<Search key item> [, <Options>]])
<Result>: Booleano
  • True si el puesto era set,
  • False si se produce un error. Este problema puede ser causado por:
    • un problema de posicionamiento (archivo de datos vacío, ...): <Fuente>.Found devuelve False y HError devuelve 0.
    • un error: HError devuelve un número entero distinto de 0. HErrorInfo devuelve más detalles.
<Source>: Tipo de fuente especificada
Nombre del archivo de datos HFSQL utilizado.
<Search key item>: Cadena de caracteres opcional
Nombre del elemento clave utilizado para el bucle de el archivo de datos. Si no se especifica este nombre, <Fuente>.Previous utilizará el último elemento de exploración utilizado en este archivo por la última función de gestión HFSQL (función que empieza por "H"). Si este elemento no existe, se utiliza automáticamente el mejor elemento de navegación.
<Options>: Constante opcional
Configura el bloqueo y la gestión de duplicados realizados en el registro seleccionado con la función <Fuente>.Previous:
hDistinctSi se encuentran duplicados, se utiliza para posicionar en 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.
Por Default, todos los duplicados son examinados.
hLockNoSin bloqeuo: otras aplicaciones pueden leer o modificar el registro.
hLockReadWriteBloqueo de lectura/escritura: el Record seleccionado no puede ser leído o modificado por otra aplicación.
hLockWriteBloqueo de escritura: el Record seleccionado puede ser leído por otra aplicación pero no puede ser modificado por otra aplicación.
Java Acceso con JDBC: Este parámetro no se tiene en cuenta.
OLE DBConectores Nativos Las opciones de bloqueo no tendrán efecto si los bloqueos no son soportados por el proveedor OLE DB o por Conector Nativo.
OLE DB Las opciones de bloqueo especificadas en la función <Fuente>.Previous no se tienen en cuenta. El modo de bloqueo especificado por <Fuente>.First o <Fuente>.Last seguirá siendo efectivo durante las llamadas a <Fuente>.Previous y <Fuente>.Next.
Para modificar el bloqueo de teclas, debe utilizar:
Conectores Nativos Para Conector Nativo Oracle, se puede especificar un modo de bloqueo diferente para cada Record. Sin embargo, si se inició una transacción mediante SQLTransaction antes de establecer el bloqueo, éste sólo se liberará al final de la transacción (SQLTransaction con la constante sqlCommit o sqlRollBack).
Hyper File 5.5 Las opciones de bloqueo se ignoran. Utilice las funciones de bloqueo (<Fuente>.LockRecNum) conservadas para la compatibilidad con el pasado.
Observaciones

Lectura de la operación según una clave

<Fuente>.Previous establece la posición en el record con el mayor valor de la clave.
El orden de clasificación es el que se especificó en el análisis para esta clave.

comparison entre <Fuente>.Previous y <Fuente>.ReadPrevious

<Fuente>.Previous no lee el record: por lo tanto, <Fuente>.Previous es más rápido que <Fuente>.ReadPrevious.
WINDEVWEBDEV - Código ServidorUniversal Windows 10 AppiPhone/iPadJavaCódigo de Usuario (UMC)Lenguaje ExternoAjaxHFSQL ClassicHFSQL Client/ServerProcedimientos almacenadosHyper File 5.5OLE DBConectores Nativos

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.
WINDEVWEBDEV - Código ServidorReportes y ConsultasUniversal Windows 10 AppiPhone/iPadCódigo de Usuario (UMC)Lenguaje ExternoAjaxHFSQL ClassicHFSQL Client/ServerProcedimientos almacenadosOLE DBConectores Nativos

Bloqueos

Por defecto (<Opciones> no especificadas), la Record no está bloqueada.
Si se solicita un bloqueo (constante hLockWrite o hLockReadWrite), la posición se fijará en el Record sólo si no está ya 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