PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Cas d'erreurs
  • Manipulations d'enregistrements pendant une transaction
  • Transactions et contexte HFSQL indépendant
  • OLE DB et Connecteurs Natifs
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Valide la transaction en cours :
  • les modifications effectuées sur le fichier de données depuis le début de la transaction (fonction HTransactionDébut ou fonction HTransaction) sont validées.
  • le fichier de transaction est supprimé (si la transaction est la dernière transaction en cours dans le cas d'une application réseau).
  • les enregistrements bloqués en lecture par la transaction sont débloqués.
AndroidWidget AndroidiPhone/iPadWidget iOSCatalystWindows Mobile La gestion des transactions est disponible uniquement pour les bases de données HFSQL Client/Serveur.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Java Cette fonction est désormais disponible pour les applications Java.
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Java Cette fonction est désormais disponible pour les applications Java.
Android Cette fonction est désormais disponible pour les applications Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Java Cette fonction est désormais disponible pour les applications Java.
Android Cette fonction est désormais disponible pour les applications Android.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
MaConnexion1 est une Connexion
 
// Début de la transaction sur les fichiers de données associés à la connexion MaConnexion1
HTransactionDébut(MaConnexion1)
 
// Code permettant de préparer la commande à ajouter
// ...
 
QUAND EXCEPTION DANS
// Ajout de la commande
HAjoute(Commande)
// Validation de l'ajout
HTransactionFin(MaConnexion1)
FAIRE
// Suppression des lignes de commandes
HTransactionAnnule(MaConnexion1)
FIN
// Début de la transaction sur les fichiers de données Commande et LigneCde
HTransactionDébut("C:\Temp\Transaction.trs", "Commande,LigneCde,-Client")
 
// Code permettant de préparer la commande à ajouter
// ...
 
QUAND EXCEPTION DANS
// Ajout de la commande
HAjoute(Commande)
// Validation de l'ajout
HTransactionFin()
FAIRE
// Suppression des lignes de commandes
HTransactionAnnule()
FIN
Syntaxe
Versions 19 et supérieures

Valider une transaction en cours sur une connexion Masquer les détails

<Résultat> = HTransactionFin(<Connexion>)
<Résultat> : Booléen
  • Vrai si la transaction est terminée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
Attention : Si une transaction globale est commencée, la fonction ne fait rien. Il faut utiliser la syntaxe 2.
<Connexion> : Chaîne de caractères (avec ou sans guillemets) ou variable de type Connexion
Connexion à manipuler. Cette connexion correspond : Si ce paramètre correspond à la constante hAccèsHF7, la transaction est réalisée sur les fichiers de données HFSQL ISAM.
Nouveauté 19

Valider une transaction en cours sur une connexion Masquer les détails

<Résultat> = HTransactionFin(<Connexion>)
<Résultat> : Booléen
  • Vrai si la transaction est terminée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
Attention : Si une transaction globale est commencée, la fonction ne fait rien. Il faut utiliser la syntaxe 2.
<Connexion> : Chaîne de caractères (avec ou sans guillemets) ou variable de type Connexion
Connexion à manipuler. Cette connexion correspond : Si ce paramètre correspond à la constante hAccèsHF7, la transaction est réalisée sur les fichiers de données HFSQL ISAM.

Valider une transaction en cours sur une connexion Masquer les détails

<Résultat> = HTransactionFin(<Connexion>)
<Résultat> : Booléen
  • Vrai si la transaction est terminée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
Attention : Si une transaction globale est commencée, la fonction ne fait rien. Il faut utiliser la syntaxe 2.
<Connexion> : Chaîne de caractères (avec ou sans guillemets) ou variable de type Connexion
Connexion à manipuler. Cette connexion correspond : Si ce paramètre correspond à la constante hAccèsHF7, la transaction est réalisée sur les fichiers de données HFSQL ISAM.

Valider une transaction globale en cours Masquer les détails

<Résultat> = HTransactionFin()
<Résultat> : Booléen
  • Vrai si la transaction est terminée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'obtenir plus de renseignements sur l'erreur.
Remarques

Cas d'erreurs

  • Imbrication de transactions : Il est impossible d'imbriquer les transactions (c'est-à-dire d'appeler la fonction HTransactionDébut ou la fonction HTransaction dans une transaction). Dans ce cas, l'erreur 70031 est générée.
  • Versions 19 et supérieures
    Une erreur fatale est affichée dans les cas suivants :
    • Une transaction est débutée sur toutes les connexions alors qu'il existe au moins une connexion en transaction.
    • Une transaction sur une connexion est débutée après avoir commencé une transaction sur toutes les connexions.
    • Une transaction sur toutes les connexions est débutée alors qu'il existe au moins une connexion dont le mode d'isolation n'est pas "Read Uncommitted".
    Nouveauté 19
    Une erreur fatale est affichée dans les cas suivants :
    • Une transaction est débutée sur toutes les connexions alors qu'il existe au moins une connexion en transaction.
    • Une transaction sur une connexion est débutée après avoir commencé une transaction sur toutes les connexions.
    • Une transaction sur toutes les connexions est débutée alors qu'il existe au moins une connexion dont le mode d'isolation n'est pas "Read Uncommitted".
    Une erreur fatale est affichée dans les cas suivants :
    • Une transaction est débutée sur toutes les connexions alors qu'il existe au moins une connexion en transaction.
    • Une transaction sur une connexion est débutée après avoir commencé une transaction sur toutes les connexions.
    • Une transaction sur toutes les connexions est débutée alors qu'il existe au moins une connexion dont le mode d'isolation n'est pas "Read Uncommitted".

Manipulations d'enregistrements pendant une transaction

Pendant une transaction, il est nécessaire de suivre certaines règles lors de la manipulation des enregistrements. Pour plus de détails, consultez Transactions : Manipuler les enregistrements lors d'une transaction.

Transactions et contexte HFSQL indépendant

Lors de la copie de contexte, si une transaction est en cours sur le premier contexte, le nouveau contexte n'est pas en transaction. Il faut rappeler la fonction HTransactionDébut (ou la fonction HTransaction) pour démarrer une transaction dans le nouveau contexte.
WINDEVWEBDEV - Code ServeurOLE DBConnecteurs Natifs (Accès Natifs)

OLE DB et Connecteurs Natifs

Seules les syntaxes avec connexion sont prises en compte par les Connecteurs Natifs (appelés également Accès Natifs) qui gèrent les transactions. Il est également possible d'utiliser la fonction SQLTransaction.
Composante : wd260hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire