|
Etats, états internes et sources de données |
|
Stagiaire WDF
Inscrit: 19/03/2007 13:25
Post(s): 8
|
Bonjour, voici les données de mon problème.
- je déclare une source de données au niveau global de mon projet (rq_X) - j'édite un état à travers iImprimeEtat - cet état exécute HExécuteRequêteSQL qui va alimenter ma source de données de niveau global - HExécuteRequêteSQL(rq_X,a_connexion,hRequêteSansCorrection,"script SQL") - la source de données de mon état est rq_X - je fais un HLitPremier pour débuter mon parcours sur rq_X, et jusque là tout se passe bien
Le pb: mon état appelle un état interne. A l'ouverture de cet état interne, rq_X a été réinitialisée. Je n'ai donc plus les données préalablement disponibles sur l'état appelant.
?? pourquoi des sources de données, déclarées globalement au niveau du projet se trouvent-elles réinitialisées, sans bien sûr avoir fait appel à un quelconque HAnnuleDeclaration ??
En clair, comment faire pour partager des sources de données entre états ?
Merci pour vos contributions.
Contribution le : 25/04/2007 17:45
|
|
|
Re: Etats, états internes et sources de données |
|
Animateur WDF
Inscrit: 19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
|
Bonsoir,
Il ne faut pas que la requête liée à l'état interne soit la même que l'état principal. Si les données sont identiques il faut passer par une autre source de données.
Bon dév.,
Totof
Contribution le : 25/04/2007 18:00
|
|
|
Re: Etats, états internes et sources de données |
|
Stagiaire WDF
Inscrit: 19/03/2007 13:25
Post(s): 8
|
Merci Totof, je te confirme que cela n'est pas le cas: seul mon état principal est lié à une source de données (MonEtat..NomSource=rq_X). Mon état interne, justement, ne disposant pas de source de données propre (pas de NomSource) devait se contenter de piocher des valeurs dans les source de données déclarées globalement au niveau du projet (rq_X.champ).
Je peux même aller plus loin: j'ai d'autres sources de données alimentées à l'édition de l'état principal. Mêmes conditions que rq_X, source de données déclarées en global au niveau du projet. Ces sources ne sont bien sûr pas liées à l'état principal puisque c'est rq_X qui l'est, mais elles se trouvent aussi réinitialisées à l'ouverture de l'état interne. Il est donc vrai de dire que les sources de données sont déclarées en global au niveau du projet mais que leur alimentation est faite lors de l'édition de l'état principal (HExécuteRequêteSQL).
Par ailleurs, tu ne trouves pas bizarre de dire "Si les données sont identiques il faut passer par une autre source de données". Si elles sont identiques pourquoi en prendre une autre ?
Contribution le : 26/04/2007 09:29
|
|
|
Re: Etats, états internes et sources de données |
|
Animateur WDF
Inscrit: 19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
|
Bonjour,
Pourquoi prendre une autre source de données dans un état interne qui aurait des données identiques ? Tout simplement parce que le positionnement des enregistrements risque de changer pour l'état principal et cela n'affichera pas les données correctes à l'écran.
Pour revenir à l'état interne, a quelle source de données est il lié (source de données (global, interne), fichier, zone mémoire, ...)?
Bon dév.,
Totof
Contribution le : 26/04/2007 13:48
|
|
|
Re: Etats, états internes et sources de données |
|
Stagiaire WDF
Inscrit: 19/03/2007 13:25
Post(s): 8
|
Ok pour l'histoire de sources de données différentes pour des données identiques, mais à ce moment-là c'est le développeur qui choisit. S'il n'y a pas le besoin de diverger, il n'y a pas de besoin de déclarations multiples. Ce qui est mon cas.
Pour mon histoire d'état interne, je n'ai pas de source de données. Je cherche justement, par code dans les différents blocs, à accéder à des sources de données partagées dans tout mon projet.
Contribution le : 26/04/2007 14:37
|
|
|
Re: Etats, états internes et sources de données |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Pour test vous pouvez utiliser la ressource SqlVersHF qui vous permettera de stocker le contenu de votre source de données directement dans un fichier HF stocké en local, ensuite dans votre état vous pourrez accèder à ces données avec un HExterne(), ainsi plus de probleme de réinitialisation de données.
Contribution le : 26/04/2007 22:19
|
|
|
Re: Etats, états internes et sources de données |
|
Stagiaire WDF
Inscrit: 19/03/2007 13:25
Post(s): 8
|
Merci drcharly93, cela semble une solution intéressante. Reste à déterminer la maintenance à opérer pour ne pas trop polluer les postes des clients.
En tout cas, c'est une solution de contournement du problème.
Contribution le : 27/04/2007 10:05
|
|
|
Re: Etats, états internes et sources de données |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Vous pouvez très bien créer un répertoire tmp dans le répertoire de l'exe pour y stocker vos fichier HF issu de la ressource SqlVerHF et supprimer le contenu du répertoire en quittant le programme, ou bien quand vous le souhaitez.
Contribution le : 27/04/2007 11:34
|
|
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.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|