IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Annulation d'un traitement apres un probleme de connexion [WD15]


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut Annulation d'un traitement apres un probleme de connexion
    Bonjour toute l equipe
    J ai une application qui tourne sur reseau avec base de donné hyperfile classic.
    Mon probleme c est que des fois lors d un clic sur un bouton "valider" qui exicute un traitement de validation de plusieur enregistrement sur plusieurs fichier different, mais parfois lors de l'execution de traitement du bouton "valider" , une coupure reseau peut se montre ou le pc ne repond pas ce qui genère un probleme sur le contenu des fichier puisque l operation c est interrompu et les informations sont pas tous stocké dans les Fichier de BD.
    Donc je cherche solution qui me permet en cas de probleme au milieu de traitement d annuler toute l operation ou les enregistrement validée
    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Slt,

    Si je ne dis pas de bêtise, c'est une erreur de transaction.
    J'utilise le code suivant pour régler ce genre de problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //Traitement des annulations de transactions HFSQL
    SI HTransactionInterrompue("") = Vrai ALORS
    	HTransactionAnnule()
    FIN
    J'ai placé ce code dans le code d'initialisation du projet pour info.

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    Citation Envoyé par lololebricoleur Voir le message
    Slt,

    Si je ne dis pas de bêtise, c'est une erreur de transaction.
    J'utilise le code suivant pour régler ce genre de problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //Traitement des annulations de transactions HFSQL
    SI HTransactionInterrompue("") = Vrai ALORS
    	HTransactionAnnule()
    FIN
    J'ai placé ce code dans le code d'initialisation du projet pour info.
    merci pour ton reponse , mais mon code ne contient aucune declaration d une transaction , c est a dire il contient des ordres de type (hajoute, h supprime ,hmodifie) donc comment je doit faire pour que le code d annulation de transaction sera applicable sur mon code et merci

  4. #4
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 204
    Par défaut
    Il suffit d'entourer ton code de fonctions SQLTransaction()

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    Citation Envoyé par WDKyle Voir le message
    Il suffit d'entourer ton code de fonctions SQLTransaction()
    ce ci est applicable pour mode hyperfile classique ??
    cad juste j ajoute sql transaction() ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Moi non plus, je n'utilise pas de déclaration de transaction.
    Ce que je peux dire c'est que j'ai un problème sur une appli chez un client et que cette appli était utilisée en réseau. Après recherche, j'ai découvert que le problème venait d'une transaction ouverte mai non non clôturée suite à un problème de réseau. J'ai donc juste ajouté cette fonction, fais une mise a jour de l'appli de mon client, relancé l'appli et le problème était réglé. Depuis, sa roule.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Et je n'ai pas eu besoin d'utiliser SQLTransaction

  8. #8
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    @lololebricoleur: donc le probleme que tu a eu chez ton client il rassemle a mon probleme ? cad toute operation suivie par modiication sur pluisieur fichier en meme temp ne sera validé que si toute les operation de modification sont cloturé tous. sinon avec le code ajouté toute les modification seront annulé si il y a un probleme quelque soit lan nature de probleme ?

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 372
    Par défaut
    Difficile de dire si le problème est le même.
    Je pense qu’effectivement, la solution que j'ai adopté annule purement et simplement la transaction sans chercher à la finaliser.

  10. #10
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Billets dans le blog
    22
    Par défaut
    Bonjour

    Si tu utilises les fonctions HAjoute, Hmodifie, H..., il vaut mieux utiliser les fonctions



    BOn dev
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  11. #11
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    Merci pour tous,
    Demain de retour au bureau je teste la solution des transactions en procédant le traitement avec htransactiondebut et je termine avec htransactonfin avec bien sur le code htransactionannule en cas de problème , mais j espère que cela résoudra le problème sans qu il augmente le temps d'exécution de l opération .

  12. #12
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    Bonjour ,
    Apres test de la solution proposé ici sur le forum , alors le probleme est résolu en encadrant le code par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Htransactiondebut()
    au debut du traitement

    a la fin de traitement

    et ajouter le code ci dessous a l intialisation du projet.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SI HTransactionInterrompue("") = Vrai ALORS
    	HTransactionAnnule()
    FIN
    Reste maintenant a pensé comment gerer les enregistrement au cour de la transaction pour ne pas tomber dans la non cohérance des données.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2006, 16h24
  2. Réponses: 6
    Dernier message: 28/08/2006, 17h02
  3. [JSP] Réaliser un traitement après clic sur un lien donné
    Par Ataman dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/06/2006, 10h42
  4. [MySQL] Traitement après clique sur bouton submit
    Par H-bil dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/05/2006, 13h29
  5. Annuler une transaction (rollback) après un commit ?
    Par Boulotaur2024 dans le forum Débuter
    Réponses: 1
    Dernier message: 18/04/2006, 20h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo