AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

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, <Fuente>.ReadFirst se usa para establecer la posición en el archivo de datos para realizar un ciclo de lectura con <Fuente>.ReadNext 3000300030002f002300 .
Después de llamar a la función <Fuente>.ReadFirst, 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): no se realiza ninguna lectura y la función <Fuente>.Out 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 <Fuente>.Out 02f002300 devuelve True.
    PHP La gestión de los bloqueos no está disponible.
    Java 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.
Ejemplo
Customer.ReadFirst(Name)
WHILE Customer.Out() = False
// Process the record
Customer.ReadNext(Name)
END
Sintaxis
<Result> = <Source>.ReadFirst([<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 HFSQL o consulta utilizada.
<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 <Fuente>.ReadFirst 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 <Fuente>.ReadFirst
  • 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 <Fuente>.Filter se tendrá en cuenta, aunque la clave de búsqueda no esté optimizada para el filtro. Recordatorio: la función <Fuente>.Filter 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.
PHP Esta constante no está disponible.

Java Acceso con JDBC: Esta constante no está disponible.
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.

PHP Esta constante no está disponible.

Java Acceso con JDBC: Esta constante no está disponible.
hLockWriteBloqueo de escritura: el registro leído actualmente puede ser leído por otra aplicación, pero no se puede modificar.
PHP Esta constante no está disponible.

Java Acceso con JDBC: Esta constante no está disponible.
hNoRefresh
OLE DBConectores Nativos La función <Fuente>.ReadFirst 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 <Fuente>.ReadFirst seguirá siendo efectivo al llamar a las funciones <Fuente>.ReadPrevious y <Fuente>.ReadNext.
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.
PHP Las opciones de bloqueo no están disponibles.
Java Acceso con JDBC: La gestión de las cerraduras no está disponible para las bases de datos a las que accede el JDBC.
Observaciones

Campo de navegación

Si el elemento de navegación utilizado es una clave, la función <Fuente>.ReadFirst 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, <Fuente>.ReadFirst 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 <Fuente>.ReadFirst 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.
WINDEVWEBDEV - Código ServidorWINDEV MobileOLE DBConectores Nativos

Consultas de navegación

Por Default , <Fuente>.ReadFirst 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:
MyQuery.ExecuteQuery(hQueryWithoutCorrection)
...
MyQuery.ReadFirst(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:
MyQuery.ExecuteQuery(hQueryWithoutCorrection)
...
MyQuery.ReadFirst(MyItem, hNoRefresh)
El índice creado se utiliza para realizar búsquedas en el resultado de la consulta.
WINDEVWEBDEV - Código ServidorReportes y ConsultasUniversal Windows 10 AppiPhone/iPadCódigo de Usuario (UMC)Lenguaje ExternoAjaxHFSQL 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. <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).

Contraseña

Si <Fuente>.ReadFirst 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 <Fuente>.Out 02f002300 devuelve True .
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsCódigo de Usuario (UMC)Procedimientos almacenadosConectores Nativos

Conector Nativo XML

El comportamiento de la función <Fuente>.ReadFirst depende de las funciones <Fuente>.ActivateAutoFilter/<Fuente>.DeactivateAutoFilter.
<Fuente>.ActivateAutoFilter 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 <Fuente>.ReadFirst 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 (<Fuente>.DeactivateAutoFilter), 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 <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.
  • Para mejorar los primeros tiempos de búsqueda en un archivo, utilice <Fuente>.Optimize 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 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