|
|
|
|
|
- Generic search/Exact-match search
- Exact-match search in Access
- Performing a search on a composite key
- Search on an array item
- Search and filter
- Looping through records that match a condition
- Optimizing iterations
- Previous versions
HReadSeek (Function) In french: HLitRecherche
Not available with this kind of connection
Positions on the first file record whose value for a specific item is greater than or equal to a sought value (generic search). The record is read and the corresponding HFSQL variables are updated. In most cases, HReadSeek sets the position in the data file to loop through the records that match a condition. HReadNext is used to read the next record corresponding to the condition.Several cases may occur after the call to HReadSeek: - a record corresponding to the condition was found, locked (if necessary) and loaded in memory: HFound returns True.
Access by JDBC: The management of locks is not available for databases accessed by JDBC. - the data file is empty or there is no record corresponding to the condition: no reading is performed and HOut returns True.
This function can be used with the data files, HFSQL views or queries. Remarks: - By default, HReadSeekFirst and HReadSeekLast are used to perform exact-match searches.
- By default, HReadSeek is used to perform a generic search on strings. This search is not generic on integers, reals, dates, currencies, etc.
// Find the first record // for which the CUSTOMER name is MOORE HReadSeek(CUSTOMER, NAME, "MOORE") IF HFound() THEN Trace("Customer MOORE found") ELSE Trace("Customer MOORE not found") END
Syntax
<Result> = HReadSeek(<Data file> , <Item> , <Search value> [, <Options>])
<Result>: Boolean (optional) Corresponds to: - True if the sought record was found and read. The file buffer is loaded with the data of the record found. In this case, HError is set to 0 and HFound is set to True.
- False in the following cases:
- error while accessing the file (unable to read for example). HError returns an error code. HErrorInfo returns more details about the error. In this case, HFound cannot be used.
- the access to the file was performed but no record was found. In this case, HError is set to 0 and HFound is set to False.
Caution: In this case, the file buffer cannot be used.
<Data file>: Character string Name of data file, HFSQL view or query used. <Item>: Character string Name of item on which the search will be performed. For an exact-match search, this parameter can correspond to a non-key item.
<Search value>: Type corresponding to the value Value of the sought item. <Options>: Optional constant (or combination of constants) Used to configure:- the lock mode applied to the sought record.
- the type of search performed.
| | hIdentical | Exact-match search (see the Notes) A generic search is performed by default (constant not specified).
| hKeepFilter | The filter set by HFilter will be taken into account, even if the search key is not optimized for the filter. Reminder: HFilter returns the search key optimized for the filter. Caution: in this case, performance issues may arise for large files.
| hLimitParsing | | hLockNo | No lock: the record can be read or modified by another application during the reading.
| hLockReadWrite | Lock in read/write mode: the record currently read cannot be read or modified by another application. The lock mode is ignored if a query is used.
| hLockWrite | Lock in write mode: the record currently read can be read by another application but it cannot be modified. The lock mode is ignored if a query is used. | hNoRefresh | |
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|