PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Syntaxe 2 : Effectuer une transaction sur une connexion
  • Imbrication de transactions
  • Connecteur Natif MySQL
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
SQLTransaction (Fonction)
En anglais : SQLTransaction
Permet de débuter, valider ou annuler une transaction :
  • soit sur les fichiers d'une base de données ouverte par la fonction SQLConnecte,
  • soit sur les fichiers d'une base de données ouverte par une connexion (OLE DB ou Accès Natif/Connecteur Natif) décrite sous l'éditeur d'analyses, ou par la fonction HOuvreConnexion.
Remarque : Cette fonction est la seule fonction SQL pouvant être utilisée avec les fonctions HFSQL (par exemple, pour réaliser des transactions sur une base de données tierce manipulée avec les fonctions HFSQL).
Java Cette fonction peut uniquement être utilisée pour gérer des transactions sur les fonctions SQLxxx.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Widget Android Cette fonction est désormais disponible en mode Widget 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.
Versions 24 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 24
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.
WINDEVWEBDEV - Code ServeurEtats et RequêtesJavaAjaxCode Utilisateur (MCU)OLE DB
NumConnexion est un entier = SQLConnecte("MaBase", "User", "MotDePasse", "", ...
"OLEDB", "MonProvider")
SI NumConnexion = 0 ALORS
SQLInfoGene()
Erreur("Erreur d'ouverture de la connexion : " + SQL.MesErreur)
SINON
// Mise en transaction de la connexion
SQLTransaction(sqlDébut)
// Modification de la valeur de toutes les rubriques UnFichier.UneRubrique
SI SQLExec("UPDATE UnFichier SET UneRubrique = 'nouvelle valeur'", ...
"RequeteModif") = Vrai ALORS
// Termine la transaction
SQLTransaction(sqlFin)
SINON
SQLInfoGene("RequeteModif")
Erreur("Erreur d'exécution de la requête : " + SQL.MesErreur)
// Annulation de la transaction
SQLTransaction(sqlAnnule)
// Le contenu du fichier UnFichier n'a pas changé
FIN
FIN
Syntaxe

Transaction sur les fichiers d'une base de données ouverte par SQLConnecte Masquer les détails

<Résultat> = SQLTransaction(<Indicateur>)
<Résultat> : Booléen
  • Vrai si l'opération a été effectuée,
  • Faux dans le cas contraire.
<Indicateur> : Constante de type Entier
Type d'opération de transaction à effectuer :
sqlDébutCommence la transaction.
sqlFinTermine la transaction.
sqlAnnuleAnnule la transaction.
Remarque : Cette syntaxe n'est pas disponible en Android.
WINDEVWEBDEV - Code ServeurWINDEV MobileEtats et RequêtesAndroidWidget AndroidAjaxCode Utilisateur (MCU)

Transaction sur les fichiers d'une base de données ouverte par une connexion décrite dans l'analyse ou par la fonction HOuvreConnexion Masquer les détails

<Résultat> = SQLTransaction(<Indicateur> , <Connexion>)
<Résultat> : Booléen
  • Vrai si l'opération a été effectuée,
  • Faux dans le cas contraire.
<Indicateur> : Constante de type Entier
Type d'opération de transaction à effectuer :
sqlDébutCommence la transaction.
sqlFinTermine la transaction.
sqlAnnuleAnnule la transaction.
<Connexion> : Chaîne de caractères (avec ou sans guillemets)
Nom de la connexion utilisée pour accéder à la base de données. Ce nom a été donné sous l'éditeur d'analyses ou par la fonction HOuvreConnexion. Cette connexion doit avoir été décrite au moment de l'appel de la fonction SQLTransaction. Si la connexion n'est pas ouverte lors de l'appel à la fonction SQLTransaction, la connexion spécifiée est automatiquement ouverte.
Remarques

Syntaxe 2 : Effectuer une transaction sur une connexion

Pour effectuer une transaction sur une connexion, il faut :
  1. Débuter la connexion (fonction SQLTransaction(sqlDébut)).
  2. Effectuer des opérations sur les fichiers de données grâce aux fonctions HFSQL voulues.
  3. Terminer la transaction :
    • soit en validant les opérations effectuées (fonction SQLTransaction(sqlFin)).
    • soit en annulant les opérations effectuées (fonction SQLTransaction(sqlAnnule)).

Imbrication de transactions

Il est possible d'imbriquer les transactions.
Java Il n'est pas possible d'imbriquer des transactions. Une erreur WLangage est générée si une transaction est débutée alors qu'une autre transaction est en cours.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAjaxCode Utilisateur (MCU)Connecteurs Natifs (Accès Natifs)

Connecteur Natif MySQL

Les fonctions SQLBloque et SQLTransaction permettent de gérer les blocages et les transactions uniquement sur les tables MySQL de type "innoDB".
Composante : wd240hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
ODBC Sage
Si vous utilisez l'ODBC de Sage, toute requête exécutée passe automatiquement par le commit, il vous est impossible d'annuler la moindre requête
romulus001
12 jan. 2016