|
|
|
|
- Búsqueda genérica/búsqueda por coincidencia de datos de salida
- Búsqueda por coincidencia exacta en Access
- Realizar una búsqueda en una clave compuesta
- Buscar en un artículo de array
- Buscar y filtrar
- Recorrer en bucle los registros que coinciden con una condición
- Optimización de las iteraciones
<Fuente>.ReadSeek (Función)
No disponible con este tipo de conexión
Establece la posición en el primer registro que tenga un elemento específico con un valor mayor o igual al valor buscado (búsqueda genérica). Se lee la Record y se actualizan las variables HFSQL correspondientes. En la mayoría de los casos, <Fuente>.ReadSeek establece la posición en el archivo de datos para recorrer los registros que coinciden con una condición. <Fuente>.ReadNext se utiliza para leer el siguiente Record correspondiente a la condición.Después de llamar a la función <Fuente>.ReadSeek, se pueden producir los siguientes casos: - se encontró un registro que corresponde a la condición, se bloqueó (si es necesario) y se cargó en la memoria: <Fuente>.Found devuelve True.
Acceso con JDBC: La gestión de las cerraduras no está disponible para las bases de datos a las que accede el JDBC. - el archivo de datos está vacía o no hay Record correspondiente a la condición: no se realiza ninguna lectura y la función <Fuente>.Out devuelve True.
Esta función se puede utilizar con archivos de datos, vistas HFSQL o consultas. Observaciones: - Por Default, <Fuente>.ReadSeekFirst y <Fuente>.ReadSeekLast se utilizan para realizar búsquedas de coincidencia exacta.
- Por Default, <Fuente>.ReadSeek se utiliza para realizar una búsqueda genérica en cadenas. Esta búsqueda no es genérica en enteros, reales, fechas, monedas, etc.
// Find the first record // for which the Customer name is MOORE Customer.ReadSeek(Name, "MOORE") IF Customer.Found() THEN Trace("Customer MOORE found") ELSE Trace("Customer MOORE not found") END
Sintaxis
<Result> = <Source>.ReadSeek(<Item> , <Sought value> [, <Options>])
<Result>: Booleano (opcional) Corresponde a: - True si se encontró y leyó el registro buscado. El buffer de archivos está cargado con los datos de la Record encontrada. En este caso, el valor de la función HError es 0 y el de la función <Fuente>.Found es True.
- False en los siguientes casos:
- error al acceder al archivo (no se puede leer, por ejemplo). HError devuelve un código de error. HErrorInfo devuelve más detalles sobre el error. En este caso, no se puede utilizar <Fuente>.Found.
- el acceso al archivo se realizó pero no se encontró ningún Record. En este caso, el valor de la función HError es 0 y el de la función <Fuente>.Found es False.
Atención: En este caso, no se puede utilizar el búfer del archivo.
<Source>: Tipo de fuente especificada Nombre del archivo de datos, vista HFSQL o consulta utilizada. <Item>: Cadena de caracteres Nombre del artículo sobre el que se realizará la búsqueda. Para una búsqueda por coincidencia exacta, este parámetro puede corresponder a un elemento no clave.
<Sought value>: Tipo de valor Valor del artículo buscado. <Options>: Constante o combinación de constantes opcional Permite configurar:- el modo de bloqueo aplicado al buscado Record.
- el tipo de búsqueda realizada.
| | hIdentical | Búsqueda por coincidencia exacta (ver las Notas) Una búsqueda genérica es realizada por Default (constante no especificada).
| hKeepFilter | El 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.
| hLimitParsing | | hLockNo | Sin bloqeuo: el Record puede ser leído o modificado por otra aplicación durante la lectura.
| hLockReadWrite | Bloqueo de lectura y escritura: el Record que se lee actualmente no puede ser leído o modificado por otra aplicación. El bloqueo de teclas se ignora si se utiliza una consulta.
| hLockWrite | Bloqueo de escritura: el registro leído actualmente puede ser leído por otra aplicación, pero no se puede modificar. El bloqueo de teclas se ignora si se utiliza una consulta. | hNoRefresh | |
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|