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
  • Lectura de la operación según una clave
  • Comprobación de la contraseña
  • Varios
  • comparison entre HReadFirst y HFirst
  • 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 primer registro de un archivo de datos de acuerdo con el elemento de navegación especificado. TEl Record 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, HFirst 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 HFirst, 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, HFirst se realiza una búsqueda genérica.

Los valores de la posición de búsqueda se leen en orden ascendente (véase 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, HFirst se utiliza para fijar la posición en el archivo de datos con el fin de realizar un bucle de lectura con HNext.
Tras la llamada a HFirstpueden darse varios casos:
  • el archivo de datos está vacía o ningún record corresponde al filtro (definido por HFilter): HOut devuelve True.
  • la función intenta bloquear un registro ya bloqueado en modo de lectura: HErrorLock devuelve True y HOut 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
HFirst(Customer, Name)
WHILE HOut() = False
// Process the record
HNext(Customer, Name)
END
Sintaxis
<Result> = HFirst([<Data file> [, <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, ...): HFound devuelve False y HError devuelve 0.
    • un error: HError devuelve un número entero distinto de 0. HErrorInfo devuelve más detalles.
<Data file>: Cadena de caracteres opcional
Nombre del archivo de datos utilizado. Si este parámetro es una cadena vacía (""), HFirst 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 elemento clave utilizado para el bucle de el archivo de datos. Si no se especifica este nombre, HFirst utilizará el último elemento de exploración utilizado en este archivo de datos por la última función de gestión HFSQL (función que comienza por "H"). Si este elemento no existe, se utiliza automáticamente el mejor elemento de navegación.
<Options>: Constante opcional
Configura el bloqueo establecido en el Record seleccionado por HFirst:
hKeepFilterEl filtro set de HFilter se tendrá en cuenta, aunque la clave de búsqueda no esté optimizada para el filtro. Recordatorio: la función HFilter devuelve la clave de búsqueda optimizada para el filtro.
Atención: En este caso, pueden surgir problemas de rendimiento para los archivos de datos de gran tamaño.
Hyper File 5.5 Este Variable no puede ser usado.
hLockNoSin bloqeuo: otras aplicaciones pueden leer o modificar el registro.
Java Acceso con JDBC: Esta constante no está disponible.
hLockReadWriteBloqueo de lectura/escritura: el Record seleccionado no puede ser leído o modificado por otra aplicación.
OLE DB Bloqueo de escritura: el Record seleccionado puede ser leído por otra aplicación pero no puede ser modificado por otra aplicación. Equivale a la constante hLockWrite.

Java Acceso con JDBC: Esta constante no está disponible.
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: Esta constante no está disponible.
hNoRefresh
OLE DB El contenido de tabla o de la consulta no se actualizará. Todas las posiciones guardadas se almacenan. Si no se especifica este parámetro, la función HFirst reinicializa la navegación para el elemento especificado: el contenido de tabla o consulta se actualiza con los datos encontrados en la base de datos OLE DB. Todas las posiciones guardadas se pierden. La posición se restablecerá de acuerdo con el valor del mejor elemento.
Observación: La navegación y las posiciones guardadas en los otros elementos no se ven afectadas.
Java Acceso con JDBC: La gestión de las cerraduras no está disponible para las bases de datos a las que accede el JDBC.
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 El modo de bloqueo especificado con la función HFirst seguirá siendo efectivo al llamar a las funciones HPrevious y HNext.
Para modificar el bloqueo de teclas, debe utilizar:
Conectores Nativos Oracle: se puede especificar un modo de bloqueo diferente para cada Record. Sin embargo, si una transacción fue iniciada por SQLTransaction antes de establecer el bloqueo, éste sólo se liberará al final de la transacción (SQLTransaction asociado con sqlCommit o sqlRollBack).
Hyper File 5.5 Las opciones de bloqueo se ignoran. Utilice las funciones de bloqueo (HLockRecNum) conservadas para la compatibilidad con el pasado.
Observaciones

Lectura de la operación según una clave

La función HFirst establece la posición en el registro con el valor de clave más bajo.
El orden de clasificación es el que se especificó en el análisis para esta clave.
Si se encuentran duplicados, HFirst fija la posición en el primer "duplicado" Record según la secuencia de números Record.
WINDEVUniversal Windows 10 AppJavaCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5

Comprobación de la contraseña

Si la función HFirst es la primera función que manipula el archivo de datos especificado, la contraseña se verifica al abrir el archivo de datos.
Si la contraseña es incorrecta, HErrorPassword devuelve True y HOut devuelve True.

Varios

  • El número actual de Record es devuelto por HRecNum.
  • HChangeKey se utiliza para modificar la clave de búsqueda mientras se mantiene posicionada en el record actual.

comparison entre HReadFirst y HFirst

HFirst no lee el record: por lo tanto, HFirst es más rápido que HReadFirst.
WINDEVUniversal Windows 10 AppCódigo de Usuario (UMC)HFSQL ClassicHFSQL Client/ServerHyper File 5.5OLE 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 9
Esta página también está disponible para…
Comentarios
HFILER E FILETOARRAY
O filetoarray se não tiver antes dele um hfilter coloca no array a tabela inteira e se colocar o hfilter, traz só o registro. exemplos:

//assim vai trazer só o registro atual
HFilter(RADFileA,RADFileA.IDRADFileA,gnID)
FileToArray(garr_RADFileA_Depois,RADFileA,RADFileA.IDRADFileA)

//vai trazer todos os registros
FileToArray(garr_RADFileA_Depois,RADFileA,RADFileA.IDRADFileA)

DICA:
Voce pode atribuir uma Classe de um arquivo a um array assim:

garr_RADFileA_Antes is array of CMRADFileA
garr_RADFileA_Depois is array of CMRADFileA
BOLLER
24 02 2019

Última modificación: 27/05/2022

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