OVH Cloud OVH Cloud

Requete paramétrée WD11 - 053p

13 réponses
Avatar
I.G.LOG
Bonjour à tous,
J'ai déjà transmis un post sur ce sujet, sans réponse qui puisse m'aider.

Je réedite le problème:

J'ai une requete du projet contenant un paramètre, cad avec la syntaxe
select ... where IDENT = {pParam}

Lorsque j'exécute cette requete sous l'éditeur (avec GO) j'ai toujours un
résultat vide (la requete ne me renvoie rien), et ce quelque soit la
paramètre que je passe - même problème sans passer de paramètre (pParam
décoché)

Si dans le code sql de la requete
je replace {pParam} par une valeur fixe ( select ... where IDENT = 6 )
la requete me retourne bien les valeurs attendues !!!!

J'ai aussi essayé avec la fonction
hHexecuteRequete(MaRequete,hRequeteDefaut,6)
et
MaRequete.pParam = 6
hHexecuteRequete(MaRequete,hRequeteDefaut)

Toujours le même problème, aucun résultat !
Il semblerait que le fait d'intégrer un paramètre dans le code de la requete
pose un problème.

J'y perd mon latin !!!

Merci à tous ceux qui pourront m'aider (c'est urgent)
Cordialement

3 réponses

1 2
Avatar
I.G.LOG
Ca marche, Bravo !!!!
Mais ça n'explique pas pourquoi la requete initiale fonctionne sans
paramètres.
Peut-être que ca vient du fait que les paramètres sont intégrés avant le
where ?!
Je vais faire des essais dans ce sens.
En tous cas merci beaucoup (je commencait à m'arracher les cheveux)
Phil
Avatar
JeAn-PhI
Il se trouve que I.G.LOG a formulé :
Ca marche, Bravo !!!!
Mais ça n'explique pas pourquoi la requete initiale fonctionne sans
paramètres.
Peut-être que ca vient du fait que les paramètres sont intégrés avant le
where ?!
Je vais faire des essais dans ce sens.
En tous cas merci beaucoup (je commencait à m'arracher les cheveux)
Phil



je fournis l'explication :
- un "INNER JOIN" est équivalent à un "WHERE T1.Key = T2.Key"
- HF ne supporte pas la syntaxe suivante :
+ inner join ACTION on ACTION.IDDOCUM = DOCUM.IDDOCUM and
ACTION.DESTINATAIRE = {param1}
- il faut répéter à chaque ligne
T1 INNER JOIN T2 ....,
T2 INNER JOIN T3 ....,
- les auto jointure avec alias ne fonctionne pas non plus
+ T1 INNER JOIN T1 AS Toto

je crois avoir fait le tour il doit en manquer encore certainement

--
Cordialement JeAn-PhI
Avatar
I.G.LOG
>
je fournis l'explication :
- un "INNER JOIN" est équivalent à un "WHERE T1.Key = T2.Key"
- HF ne supporte pas la syntaxe suivante :
+ inner join ACTION on ACTION.IDDOCUM = DOCUM.IDDOCUM and
ACTION.DESTINATAIRE = {param1}
- il faut répéter à chaque ligne
T1 INNER JOIN T2 ....,
T2 INNER JOIN T3 ....,
- les auto jointure avec alias ne fonctionne pas non plus
+ T1 INNER JOIN T1 AS Toto

je crois avoir fait le tour il doit en manquer encore certainement

--


Encore merci pour ton aide
1 2