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 :

Table en saisie : modification d'un champ crypté [WD16]


Sujet :

WinDev

  1. #1
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut Table en saisie : modification d'un champ crypté
    Bonjour à tous,

    Je développe ma première application utilisant HyperFileSQL et je suis un peu désorienté pour faire des choses "simples".
    En gros, j'ai un fichier qui contient plusieurs informations dont une rubrique qui est crypté. (Crypté à l'aide de la fonction Crypte de WinDev)
    Pour ce faire, à l'ajout d'une ligne dans le fichier, je fais un crypte sur cette valeur.
    Et pour afficher une table de ce fichier, je le lie à l'aide d'une requête à la table (car j'ai besoin d'info de plusieurs fichier) et dans le code d'affichage d'une ligne,
    j'affecte a une colonne la valeur du fichier décrypter (à l'aide de Décrypte).

    Jusque là pas de problème.
    La table s'affiche correctement, je peux modifier mes valeurs directement dans la table et ça met à jour le fichier sans code ! (magique pour moi qui d'habitude fait tout avec les fonctions SQL* )

    Mon seul problème est pour cette colonne crypté !
    Il faut que quand je saisisse la valeur, il intercepte la sorti du champ et crypte la valeur avant la modification de la ligne du fichier...
    Dans le code A chaque modification de COL_X :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     // Ca me permet de pas executer le code de l'affichage d'une ligne
    gbXModif = Vrai
    Dans le code Sortie de COL_X :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Ligne.X = Crypte(COL_X, gsCrypte, crypteSécurisé)
    HModifie(Ligne)
    gbXModif = Faux
    Le problème, c'est que quand il exécute après la sortie de la colonne le code Affichage d'une ligne de TABLE_Bla, Ligne.X n'a pas la valeur enregistré, mais la valeur de COL_X, pourtant, en exécution pas à pas, je vois bien que Ligne.X est modifié et que HModifie à bien modifié l'enregistrement...

    Bref, je sais plus comment arrivé à les fins...

    Si je n'ai rien compris au mécanisme de liaison table <-> fichier, merci de m'expliquer

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 349
    Points : 9 504
    Points
    9 504
    Par défaut
    J'utiliserais 2 colonnes : Col_Cryptée liée à ton fichier et Col_Décryptée en saisie.
    Col_Cryptée est invisible.
    En saisie, en sortie de champ Col_Décryptée, tu cryptes et tu mets le résultat dans la cellule cryptée.

  3. #3
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    J'avais pas pensé à passé par une colonne intermédiaire !
    Ca marche nickel, merci

    J'aurais quand même aimé gérer ça en une colonne, mais ta solution marche au moins

    Merci beaucoup.

  4. #4
    Membre averti
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Points : 435
    Points
    435
    Par défaut
    Bonjour,

    Pour faire en une seule colonne, je proposerais ceci:

    Décocher "Enregistrer en sortie de ligne" dans l'onglet détail
    et dans le code de sortie de ligne:
    tester si la ligne est modifiée (table..modifie) et si oui,
    crypter la rubrique et faire un HModifie.

    L'option "Enregistrer en sortie de ligne" doit retransférer la valeur des
    colonnes dans le buffer du fichier, puis il enregistre. Donc, dans votre code
    initial, le fichier est modifié 2 fois: en sortie de colonne X est bien cryptée, mais
    en sortie de ligne le fichier est de nouveau modifié avec la valeur de Col_X qui n'est pas cryptée.

    Patrick

  5. #5
    Membre expérimenté Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Points : 1 381
    Points
    1 381
    Par défaut
    Ah ouais, je connaissais pas cette option de désactiver l'enregistrement en sortie de ligne !
    Avec ta solution, c'est a peu pres sur de marcher

    Merci beaucoup

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/09/2008, 16h42
  2. Modification nom de champ dans une table
    Par yoaugoulo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/01/2008, 13h08
  3. Réponses: 1
    Dernier message: 08/05/2007, 23h15
  4. Réponses: 2
    Dernier message: 05/05/2006, 09h36
  5. [MySQL] Problème pour la modification d'un champ d'une table
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 09/02/2006, 17h17

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