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 Accès Natifs
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal 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) sont validées.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/iPadWindows 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
WINDEVWEBDEV - Code ServeurEtats et RequêtesAjaxCode Utilisateur (MCU)HFSQL
// Début de la transaction sur les fichiers Commande et LigneCde
HTransactionDébut("C:\Temp\Transaction.trs", "Commande,LigneCde,-Client")
Ajout_Commande()
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
AndroidWidget AndroidJava Cette syntaxe n'est pas disponible en Android, Android Widget et Java.

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

<Résultat> = HTransactionFin(<Nom de la 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.
<Nom de la connexion> : Chaîne de caractères (avec ou sans guillemets)
  • Nom de la connexion à manipuler. Cette connexion a été définie :
  • Constante hAccèsHF7 : La transaction est réalisée sur les fichiers HFSQL ISAM.
Nouveauté 19
AndroidWidget AndroidJava Cette syntaxe n'est pas disponible en Android, Android Widget et Java.

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

<Résultat> = HTransactionFin(<Nom de la 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.
<Nom de la connexion> : Chaîne de caractères (avec ou sans guillemets)
  • Nom de la connexion à manipuler. Cette connexion a été définie :
  • Constante hAccèsHF7 : La transaction est réalisée sur les fichiers HFSQL ISAM.
AndroidWidget AndroidJava Cette syntaxe n'est pas disponible en Android, Android Widget et Java.

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

<Résultat> = HTransactionFin(<Nom de la 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.
<Nom de la connexion> : Chaîne de caractères (avec ou sans guillemets)
  • Nom de la connexion à manipuler. Cette connexion a été définie :
  • Constante hAccèsHF7 : La transaction est réalisée sur les fichiers 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 dans une transaction). Dans ce cas, l'erreur 70031 est générée.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 pour démarrer une transaction dans le nouveau contexte.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 Accès Natifs

Dans cette version, la fonction HTransactionFin ne peut pas être utilisée. Pour démarrer une transaction, utilisez la fonction SQLTransaction.Seules les syntaxes avec connexion sont prises en compte par les Accès Natifs qui gèrent les transactions. Il est également possible d'utiliser la fonction SQLTransaction.
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire