- Managing automatic identifiers
- Reusing the deleted or freed records
- Version of data file after an addition
- Adding a record into a query
- Adding records into a view
- Browsing and adding records
- Slowness when adding or deleting a record for the first time in an HFSQL data file
- Addition into a database in Hyper File 5.5 format
In french: <Source>.DupliqueEnregistrement
Not available with these kinds of connection
Duplicates the record read in a data file: the record found in memory is added into the data file (query or view). The indexes corresponding to all the keys used in the data file are automatically updated. The possible memos are added if the management of memos is enabled (<Source>.SetMemo
After the call to <Source>.DuplicateRecord:
- An automatic management of errors is available for several types of errors: Duplicate error, integrity error, password error, modification conflict error and status error during modification conflict, lock error, ... For more details, see Assisted HFSQL error handling.
- If the management of duplicates is enabled and if the data file contains a unique key, HErrorDuplicates returns True if the value of added key is not unique. The record is not added.
- The added record becomes the current record. The automatic identifier is automatically filled. By default, the current iteration is not affected.
Remark: The entire record in memory (the content of record previously read) is written into the data file.
- This function can also be used on a view or on a query.
- <Source>.DuplicateRecord and <Source>.Add are equivalent.
// Duplicates the current record
<Result> = <Source>.DuplicateRecord([<Options>])
- True if the record was added,
- False if a problem occurred (integrity error, duplicate error, ...). HError is used to identify the error.
<Source>: Type corresponding to the specified source
Name of the data file, view or query used.
<Options>: Optional constant
Used to configure:
- the effect of addition on the current browse.
- the mode for calculating the automatic identifier. For more details, see Managing the automatic identifier during an addition.
- the lock mode applied to the added record.
- Management of locks not available in PHP.
- Management of locks not available in SQLite databases.
- Access by JDBC: The management of locks is not available for databases accessed by JDBC.
- the management of duplicates.
- the management of integrity.
This parameter is ignored.
Managing automatic identifiers
By default, the "automatic identifier" item is automatically updated when a record is added into a data file. There is no need to read the record again to find out the value of the automatic identifier. Simply use the following syntax: <File name>.<Name of automatic identifier item>.
The hForceIDAuto and hSetIDAuto constants are used to modify the default behavior of the automatic identifier.
Adding a record into a query
Adding a record into a query can be performed:
Regardless of the runtime mode of the query (with or without the hWithFilter constant), adding records into a query is allowed for the single-file queries only. The calculated items specified during the addition are ignored. They are automatically calculated.
- No addition is allowed in a query that uses groups or aggregates.
- The management of integrity and duplicates is not performed during the operations on the multi-file queries: it is recommended to use transactions to avoid any problems.
Browsing and adding records
You can configure the effect of adding a record during the browse of a data file (hWriteDefault
constants). The operating mode of the earlier versions can be kept by using the hAffectBrowse
Slowness when adding or deleting a record for the first time in an HFSQL data file
Accessing a record in an HFSQL data file for the first time may take long. To fix this problem:
- Disable the antivirus for .FIC,.NDX,.MMO and.REP files.
- Disable the "Restore the system" option in Windows XP.
This page is also available for…