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
  • Campo de navegación
  • Consultas de navegación
  • Bloqueos
  • Memos
  • Contraseña
  • Conector Nativo XML
  • Varios
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
Posiciones en el primer archivo Record de acuerdo con un artículo de navegación. Se lee el registro y se actualizan las variables HFSQL (por ejemplo, Cliente.Nombre, es decir, el campo Nombre del archivo de datos Cliente).
Los valores del campo de navegación se leen en orden ascendente (para obtener más información, consulte las observaciones).
En la mayoría de los casos, HReadFirst se usa para establecer la posición en el archivo de datos para realizar un ciclo de lectura con HReadNext 3000300030002f002300 .
Después de llamar a la función HReadFirst, 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): no se realiza ninguna lectura y la función HOut devuelve True.
  • la función intenta leer una Record que ya está bloqueada en modo de lectura: no se realiza ninguna operación de lectura, HErrorLock devuelve True y HOut 02f002300 devuelve True.

Esta función se puede utilizar con archivos de datos, vistas HFSQL o consultas.
Ejemplo
// Read 1st record
HReadFirst(Customer, Name)
WHILE HOut(Customer) = False
// Process the record
HReadNext(Customer, Name)
END
Sintaxis
<Result> = HReadFirst([<Data file> [, <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 HFound en los demás casos (se puede leer el registro, incluso si <Resultado> devuelve False).
<Data file>: Cadena de caracteres opcional
Nombre del archivo de datos, vista HFSQL o consulta utilizada. Si este parámetro es una cadena vacía (""), HReadFirst manipula el último archivo de datos utilizado por la última función HFSQL (función que empieza por "H").
<Browse item>: Cadena de caracteres opcional
Nombre del elemento utilizado para el bucle de el archivo de datos o la vista (este parámetro es ignorado por las consultas). Si no se especifica este nombre, la función HReadFirst utilizará:
  • Para un archivo de datos: el último elemento de búsqueda utilizado en este archivo por la última función para la gestión de HFSQL (empezando por la letra H). Si este campo no existe, el mejor campo de navegación se utiliza automáticamente.
  • Para una consulta: 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 opcional
Permite configurar:
  • el bloqueo establecido en el Record leído por HReadFirst
  • si se debe tener en cuenta el filtro definido.
hForwardOnly
Conectores Nativos Esta constante sólo se puede utilizar con Conectores Nativos.
Optimiza las iteraciones simples que no utilizan las siguientes características:
  • Leyendo el anterior Record.
  • Modificando un Record.
  • Posición de almacenamiento.
Si se utiliza una de estas características, el resultado puede diferir del esperado.
Por ejemplo, esta constante puede utilizarse para rellenar una control Tabla de forma programada.
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 en archivos de datos demasiado grandes.
Hyper File 5.5 Esta constante no se puede utilizar.
hLockNoSin bloqeuo: el Record puede ser leído o modificado por otra aplicación durante la lectura.

hLockReadWriteBloqueo de lectura y escritura: el Record que se lee actualmente no puede ser leído o modificado por otra aplicación.
OLE DB Bloqueo de solo escritura. Equivale a la constante hLockWrite.


hLockWriteBloqueo de escritura: el registro leído actualmente puede ser leído por otra aplicación, pero no se puede modificar.

hNoRefresh
OLE DBConectores Nativos La función HReadFirst no actualiza el contenido de la tabla o consulta. Si es posible, la consulta no se vuelve a ejecutar. Se guardan todas las posiciones guardadas.
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 HReadFirst seguirá siendo efectivo al llamar a las funciones HReadPrevious y HReadNext.
Para cambiar el modo de bloqueo, utilice:
Conectores Nativos Para Conector Nativo Oracle, se puede especificar un modo de bloqueo diferente para cada Record. Sin embargo, si SQLTransaction inició una transacción antes de establecer el bloqueo, el bloqueo solo se liberará al final de la transacción ( SQLTransaction con la constante sqlCommit o sqlRollBack ).
Hyper File 5.5 Las opciones de bloqueo no se tienen en cuenta. Utilice funciones de lectura de bloqueo ( HReadFirstLock ) mantenidas para compatibilidad con versiones anteriores.
Observaciones

Campo de navegación

Si el elemento de navegación utilizado es una clave, la función HReadFirst lee el registro con el valor de clave más bajo. El criterio de ordenación que se tiene en cuenta es el especificado en el análisis para esta clave. Si se encuentran duplicados, HReadFirst lee el primer registro "duplicado" según el orden de los números de registro.
Si el elemento de navegación no es una clave, la función HReadFirst lee el primer registro activo. Al navegar por el archivo, los Record 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.
Observación: La autocompletado propone únicamente los puntos clave.
OLE DBConectores Nativos

Consultas de navegación

Por Default , HReadFirst vuelve a ejecutar la consulta a actualización el resultado. Para evitar volver a ejecutar la consulta, le recomendamos que utilice la constante hNoRefresh .
Navegando por una consulta ejecutada con la constante hQueryWithoutCorrection:
Para examinar los registros en el orden en que fueron devueltos por la base de datos, no es necesario especificar un elemento de búsqueda. Ejemplo:
HExecuteQuery(MyQuery, hQueryWithoutCorrection)
...
HReadFirst(MyQuery, hNoRefresh)
Si se especifica un elemento de búsqueda, el resultado de la consulta se recupera y se indexa en su totalidad. La iteración se realiza sobre el elemento especificado. Se ignora el orden inicial de la consulta (especificado por ORDER BY).. El índice creado (en formato HFSQL) es sensible al caso, a la puntuación, a los caracteres acentuados y en orden ascendente.
Ejemplo:
HExecuteQuery(MyQuery, hQueryWithoutCorrection)
...
HReadFirst(MyQuery, MyItem, hNoRefresh)
El índice creado se utiliza para realizar búsquedas en el resultado de la consulta.
Reportes y ConsultasHFSQL ClassicHFSQL Client/ServerProcedimientos almacenadosHyper File 5.5OLE DBConectores Nativos

Bloqueos

De forma predeterminada (parámetro <Options> no especificado), no se bloquean los registros.
Si se solicita un bloqueo (constantes hLockWrite o hLockReadWrite), se leerá el registro solo si este aún no ha sido bloqueado.
OLE DBConectores Nativos Las opciones de bloqueo no tendrán efecto si el proveedor OLE DB o el Conector Nativo no soporta los bloqueos.

Memos

Los memos asociados con el Record pueden ser leídos automáticamente (o no) cuando se lee el Record. HSetMemo 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 (HExtractMemo).

Contraseña

Si HReadFirst es la primera función que maneja el archivo de datos especificado, la contraseña se verifica cuando se abre el archivo de datos.. Si la contraseña es incorrecta, HErrorPassword devuelve True y HOut 02f002300 devuelve True .
Reportes y ConsultasWindowsProcedimientos almacenadosConectores Nativos

Conector Nativo XML

El comportamiento de la función HReadFirst depende de las funciones HActivateAutoFilter/HDeactivateAutoFilter.
HActivateAutoFilter está habilitada por Default.
Por lo tanto, para leer el contenido del archivo XML, lea el contenido del archivo principal (el padre) y luego lea el contenido de los archivos relacionado (los hijos).
Cuando se lee un archivo de datos, se aplica automáticamente un filtro a los archivos de datos de relacionado para leer sólo los registros correspondientes al archivo principal.
Por ejemplo:
El Email de esta persona puede ser recuperado al navegar por el archivo de Personas.
Para hacerlo, simplemente set la posición en el archivo "Persona" y aplique HReadFirst al archivo " Email ".
En este caso, el Record leído en el fichero "Correo electrónico" corresponderá al primer correo electrónico asociado al Record actual en el fichero "Persona".
Si este mecanismo está desactivado (HDeactivateAutoFilter), el Record leído en el fichero "Email" corresponderá al primer Record encontrado en el fichero Email (y no al hijo del Record leído en el fichero "Persona").

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.
  • Para mejorar los primeros tiempos de búsqueda en un archivo, utilice HOptimize en este archivo de datos.
  • Esta función reemplaza HReadFirstLock y HReadFirstNoLock , que se mantuvieron por compatibilidad con WINDEV 5.5.
Componente: wd290hf.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 14/12/2023

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