Bonjour,
J'utilise des TUIBQuery pour me connecter a firebird suite à une possible migration depuis Interbase.
Mais j'ai des problèmes en utilisant des paramètres dans une requete SELECT ( pour info, LOADARTICLE est une procédure stockée):
Cette requete ne me retourne aucun résultat, alors que si je mets les valeurs directement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 qry.close; qry.sql.Clear; qry.sql.Add('select lar.karticle,lar.typecode,lar.typeden,article.remisable,article.nut,article.SvU,article.famille,article.atype,denomination,code,article.u_vente as CODE_UNITE,'); qry.sql.Add('unite.Abrege as UNITE'); qry.sql.Add(',lab_produit.densite, lab_produit.lyophylisat,lab_produit.talon,lab_produit.SV,lab_produit.dangereux,lab_produit.doseprisea,lab_produit.conservationtps, lab_produit.conservationh,'); qry.sql.Add(' lab_produit.doseprisee,lab_produit.doseprisen,lab_produit.doseprisea24,lab_produit.doseprisee24,lab_produit.doseprisen24,lab_produit.u_doseN,lab_produit.u_doseE,lab_produit.u_doseA,lab_produit.payall,lab_produit.contenance '); qry.sql.Add(' from LOADARTICLE(:part_list,:recette,:MASK,1 ) lar JOIN article on kArticle = article.cle and article.etat = 2200 JOIN unite on article.U_VENTE = unite.cle '); qry.sql.Add(' LEFT OUTER JOIN lab_produit on lab_produit.cle = karticle ROWS 50'); qry.Params.ByNameAsInteger['part_list'] := 1404; qry.Params.ByNameAsInteger['recette'] := 115; qry.Params.ByNameAsString['MASK'] := '%'; qry.open;
Là j'ai bien mes résultats ! Qu'est-ce que je fais mal ? (et merci d'éviter de débattre sur la construction de ma requête, car le problème n'est pas là)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 qry.close; qry.sql.Clear; qry.sql.Add('select lar.karticle,lar.typecode,lar.typeden,article.remisable,article.nut,article.SvU,article.famille,article.atype,denomination,code,article.u_vente as CODE_UNITE,'); qry.sql.Add('unite.Abrege as UNITE'); qry.sql.Add(',lab_produit.densite, lab_produit.lyophylisat,lab_produit.talon,lab_produit.SV,lab_produit.dangereux,lab_produit.doseprisea,lab_produit.conservationtps, lab_produit.conservationh,'); qry.sql.Add(' lab_produit.doseprisee,lab_produit.doseprisen,lab_produit.doseprisea24,lab_produit.doseprisee24,lab_produit.doseprisen24,lab_produit.u_doseN,lab_produit.u_doseE,lab_produit.u_doseA,lab_produit.payall,lab_produit.contenance '); qry.sql.Add(' from LOADARTICLE(1404,115,'%',1 ) lar JOIN article on kArticle = article.cle and article.etat = 2200 JOIN unite on article.U_VENTE = unite.cle '); qry.sql.Add(' LEFT OUTER JOIN lab_produit on lab_produit.cle = karticle ROWS 50'); qry.open;
merci d'avance !
Partager