OVH Cloud OVH Cloud

[WD11] Affectation champs valeurs de l'objet

11 réponses
Avatar
Fredo G-MDI
Bonjour à tous,

soit une classe cSociete où les membres correspondent aux champs de ma table
société. J'ai une méthode Get(iIDSociete) dans la classe cSocieteControleur
(classe permettant l'ajout, la modif et la suppression) qui me remplit
l'objet en faisant un SELECT sur l'ID, cette méthode me retourne un objet
cSociete remplit, lorsque j'affecte mes champs de saisie membre à membre
seuls les champs de type numériques se remplissent, tous les champs de type
chaine sont retournés à blanc. Lorsque j'exécute pas à pas ma méthode mon
objet est bien remplit avec les bonnes valeurs, c'est lorsque je fais
GoSociete = GoSocieteControleur.Get(SAI_ID_SOCIETE) que les valeurs
disparaissent !!

Des idées ?

Merci pour vos réponses

1 réponse

1 2
Avatar
Fredo G-MDI
Merci à tous les deux, j'ai compris l'erreur !

"I.G.LOG" a écrit dans le message de news:
486241b5$0$882$
Normal qu'il se vide !
oSociete est déclaré local à la méthode :Get(), il sera détruit à la fin
de la fonction !!!
C'est pour ça que je te disais d'instancier directement la classe mère:

GoSociete:Get("SAI_ID_SOC)

// Méthode get
FUNCTION Get(iID est un entier sur 8 octets)

sRequete est une chaîne
sNomRequete est une chaîne = DonneIdentifiant()

// oSociete est objet cSociete // Ne pas passer par cet objet, il
est local !!!
i est un entier = 1
sRequete = "SELECT "+...
"erp_societe.id,"+...
"erp_societe.FK_id_erp_type_societe,"+...
...
"FROM erp_societe "+...
"WHERE erp_societe.id = "+iID
SI SQLExec(sRequete,sNomRequete) ALORS
TANTQUE SQLAvance(sNomRequete) = 0
:id = SQLLitCol(sNomRequete,i);i++
...
FIN
FIN
SQLFerme(sNomRequete)
RENVOYER vrai // ou faux par exemple



1 2