[Résolu] Problème avec HModifie
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bonsoir,

Je viens de perdre une après midi complète sur un comportement aléatoire de windev, je vous soumet le truc quand même :

J'ai une classe qui s'occupe de lire et écrire dans les bases de données, avec une méthode :select(_ID), une :commit(), et des accesseurs getXXX() et setXXX(_val).

Dans le Commit, je fais un truc du genre :


HlitrecherchePremier(Intervention,IDIntervention,:getIDIntervention())

intervention.libelle = :getLibelle()
intervention.date = :getDate()
intervention.heureDeb = :getHeureDeb()
...

*

Si htrouve(Intervention) = vrai alors
renvoyer HModifie(Intervention)
Sinon
renvoyer Hajoute(Intervention)
fin



Si je met un "info(intevention.date)" la ou se trouve l'* dans le code ci dessus, j'ai bien un retour de la date que je veux, cela signifi donc que la date à bien été affectée à l'enregistrement, pareil pour libelle et les autres rubriques.

Pourtant depuis ce matin j'ai le comportement suivant :

La date de fin n'est pas mise à jour dans la base après le Hmodifie, la date non plus, certains booléens non plus, le descriptif non plus, par contre les autres rubriques sont mises à jour...

Avec Hajoute c'est pareil, et dans tous les cas, le hmodifie et le hajoute ne retournent pas d'erreurs.

J'ai réparé, recompilé, viré le .cpl, retapé toutes les affectations sans faire de copier / coller, mais c'est toujorus pareil.

Le seul mieux que j'ai eut, c'est en faisant ceci :

après le code :

intervention.libelle = :getLibelle()
intervention.date = :getDate()
intervention.heureDeb = :getHeureDeb()
...


j'ai rajouté :

intervention.libelle = :getLibelle()


et la la mise à jour dans la base s'est faite correctement pour la rubrique "libelle".

Par contre quand j'ai "doublé" toutes les affectations, comme ceci :

intervention.libelle = :getLibelle()
intervention.date = :getDate()
intervention.heureDeb = :getHeureDeb()
...
intervention.libelle = :getLibelle()
intervention.date = :getDate()
intervention.heureDeb = :getHeureDeb()
...


Je retombe dans le problème initial....

Je sent que je vais maudir les dévs de chez PCsoft sur 25 générations.... à moins qu'on me démontre mon erreur, mais je doute (je développe tous mes accés aux données comme ça, comme, et j'en suis à plus de 150 classes de ce type)

En tout cas merci à ceux qui pourrons m'aider un peu...

Contribution le : 23/05/2007 18:28

Edité par drcharly93 sur 24/5/2007 23:10:57
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec HModifie
ChefDeProjet WDF
Inscrit:
02/05/2006 21:28
Post(s): 160
as-tu vérifié la valeur de retour de getdate() et de getheuredeb() ?

Contribution le : 23/05/2007 20:01
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec HModifie
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Oui oui, les gets retournent tous les bonnes valeurs. D'ailleurs, comme je l'explique, après avoir fais

intervention.date = :getDate()

info(intervention.date) me donne la bonne date.

et je fais tout de suite après mon hmodifie ou hajoute, mais la valeur n'est pas mise à jour dans la base de données.

J'ai vérifié tous les appels hajoute(intervention), et hmodifie(intervention), mais je n'ai bel et bien qu'un seul appel de chaque dans tout le projet (donc toutes les modifs de intervention se font exclusivement via cette classe). Et il n'y à pas de double appel du :commit() ou autre problèmes du genre.

Si dans un bouton, je tape :

hlitPremier(intervention,idIntervention)
intervention.date = datesys()
hmodifie(intervention)


ma date est correctement modifiée.

Contribution le : 23/05/2007 20:14
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec HModifie
ChefDeProjet WDF
Inscrit:
02/05/2006 21:28
Post(s): 160
Je pense que c'est ton "renvoyer hmodife(intervention)" qui est la cause: en effet hmodifie() ne renvoie rien

Contribution le : 24/05/2007 11:41
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec HModifie
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Non, Hmodifie et Hajoute retournent un booléen, selon que l'ajout / mise à jour se sont fait correctement ou non.

Finalement j'ai réstauré le projet d'hier, j'ai retapé tout le code que j'avais modifié entre temps, et ça fonctionne.

Enfin au final j'ai rigoureusement le même code que quand ça marchait pas, mais maintenant ça marche.... allez savoir...

Contribution le : 24/05/2007 14:51
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2