|
Création dynamique de source de données impossible ? |
Iniciado por rodolphe, 26,oct. 2004 13:20 - 3 respuestas |
| |
| | | |
|
| |
Publicado el 26,octubre 2004 - 13:20 |
Bonjour J'ai un soucis avec la récursivité. Pour faire simple, je parcours un arbre. J'ai une fonction qui a pour paramètre un identifiant. Je parcours le premier niveau, et ensuite, dans ma fonction, je cree une requete qui va recuperer tous les fils, et je recupere le resultat de ma fonction sur ces fils.
le code :
ReqcompFils est une Source de Données HExécuteRequêteSQL("ReqcompFils", "SELECT id FROM component WHERE parentid = " + leComponentid) SI HNbEnr("ReqcompFils") > 0 ALORS HLitPremier("ReqcompFils") texte += componentGetTexte(ReqcompFils.id) HLitSuivant({"ReqcompFils") HAnnuleDéclaration("ReqcompFils") FIN
Sur le principe ça parait correct sauf que la source de données semble ne pas être spécifique à l'environnement de chaque execution de la fonction. Bref, de recreer dans un nouveau passage de la fonction une nouvelle source de données ayant le meme nom, et bouger le pointeur courant, ça foire completement.
Donc je pensais (au plus simple) gérer un nom unique de requete, du genre : "reqcompfils" + identifiant_unique du noeud en cours et ainsi utiliser à chaque fois dans l'appel à la requete une indirection du style : {"reqcompfils" + identifiant_unique}
Or lorsque je declare ma source, par exemple : {"ReqcompFils" + identifiant_unique} est une source de données ça ne fonctionne pas, la syntaxe n'est pas correcte. Y a t-il un moyen autre que le compile() de faire cela ?
merci |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 00:04 |
"Rodolphe" <rodolphe@garance.fr> écrivait news:417e0d48@news.pcsoft.fr:
> {"ReqcompFils" + identifiant_unique} est une source de donn‚es
Salut,
Essaie : ReqcompFils est une source de données="ReqcompFils"+DonneIdentifiant()
Et ne touche pas le reste du code !
-- En esperant t'avoir aidé. ted |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 01:27 |
Meme si la definition de source de donnees est locale, je crois que WinDev considere la source de donness globale. |
| |
| |
| | | |
|
| | |
| |
Publicado el 27,octubre 2004 - 13:53 |
Ok formidable, la ligne que tu m'as donné fonctionne : ReqcompFils est une source de données="ReqcompFils"+DonneIdentifiant()
Par contre je ne comprends pas du tout pourquoi ça fonctionne !!! on définit une source de données, et on lui assigne une valeur texte qui serait son nom ???? késako ? |
| |
| |
| | | |
|
| | | | |
| | |
|