|
|
|
|
- Error cases
- Handling records during a transaction
- Transactions and independent HFSQL context
- OLE DB and Native Connectors
HTransactionEnd (Function) In french: HTransactionFin
Not available with this kind of connection
Validates the current transaction: - the modifications performed on the data file since the start of transaction (HTransactionStart or HTransaction) are validated.
- the transaction file is deleted (if this transaction is the last transaction in progress for a network application).
- the records locked in read-only by the transaction are unlocked.
MaConnexion1 is Connection  // Début de la transaction sur les fichiers de données associés à la connexion MaConnexion1 HTransactionStart(MaConnexion1)  // Code permettant de préparer la commande à ajouter // ...  WHEN EXCEPTION IN // Ajout de la commande HAdd(Commande) // Validation de l'ajout HTransactionEnd(MaConnexion1) DO // Suppression des lignes de commandes HTransactionCancel(MaConnexion1) END
// Début de la transaction sur les fichiers de données Commande et LigneCde HTransactionStart("C:\Temp\Transaction.trs", "Commande,LigneCde,-Client")  // Code permettant de préparer la commande à ajouter // ...  WHEN EXCEPTION IN // Ajout de la commande HAdd(Commande) // Validation de l'ajout HTransactionEnd() DO // Suppression des lignes de commandes HTransactionCancel() END
Syntax
Validating a transaction in progress on a connection Hide the details
<Result> = HTransactionEnd(<Connection>)
<Result>: Boolean - True if the transaction is ended,
- False if a problem occurred. The HErrorInfo function provides more information about the error.
Caution: The function has no effect if a global transaction is started. The syntax 2 must be used.
<Connection>: Character string or Connection variable Connection to use. This connection corresponds to: If this parameter corresponds to the hAccessHF7 constant, the transaction will be performed on HFSQL ISAM files.
Validating a global transaction in progress Hide the details
<Result> = HTransactionEnd()
<Result>: Boolean - True if the transaction is ended,
- False if a problem occurred. The HErrorInfo function provides more information about the error.
Remarks Error cases - Nesting transactions: Transactions cannot be nested (that is, function HTransactionStart or function HTransaction cannot be called within a transaction). In this case, error 70031 occurs.
- A fatal error is displayed in the following cases:
- A transaction is started on all the connections while there is at least one connection in transaction.
- A transaction is started on a connection while a transaction was already started on all the connections.
- A transaction is started on all the connections while there is at least one connection whose isolation mode is not "Read Uncommitted".
Handling records during a transaction Transactions and independent HFSQL context When copying a context, if a transaction is in progress on the first context, the new context is not in transaction. You must call HTransactionStart (or HTransaction) to start a transaction in the new context.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|