|
| Passer une rubrique d'une requête SQL en paramètre |
| Iniciado por poirier, 24,ene. 2019 15:30 - 2 respuestas |
| |
| | | |
|
| |
Miembro registrado 25 mensajes |
|
| Publicado el 24,enero 2019 - 15:30 |
Bonjour à tous,
J'aimerais dans une requête SQL passer en paramètre une rubrique d'une BDD. Est-ce possible ? Si oui comment ?
Code qui appelle ma requête :
HExécuteRequête(REQ_MEM_remplacer,hRequêteDéfaut,paramTexte,paramID) Ma requête :
UPDATE matierepremiere SET matierepremiere.NomArticle = {paramTexte} WHERE matierepremiere.IDmatierepremiere = {paramID}
J'aimerais donc pouvoir passer "SET matièrepremiere.XXXXXX" en paramètre sauf que ma méthode n'est pas correcte :
HExécuteRequête(REQ_MEM_remplacer,hRequêteDéfaut,paramRubrique,paramTexte,paramID) Ma requête :
UPDATE matierepremiere SET matierepremiere.{paramRubrique} = {paramTexte} WHERE matierepremiere.IDmatierepremiere = {paramID}
"matierepremiere.{paramRubrique}" n'est pas une syntaxe correcte.
Merci ! |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.323 mensajes |
|
| Publicado el 24,enero 2019 - 17:12 |
Bonjour,
Pourquoi ne pas construire la requête dynamiquement avec un ChaîneConstruit() ou une syntaxe équivalente ?
Exemple de l'Aide en ligne :
REQ est une Source dede Données
sMaReq est une chaîne = [ SELECT * FROM CODEPOSTAUX %1 ]
sMaReq = ChaîneConstruit(sMaReq, "LIMIT 1, 10") SI PAS HExécuteRequêteSQL(REQ, hRequêteDéfaut, sMaReq) ALORS Erreur(HErreurInfo()) SINON Info("La requête contient " + HNbEnr(REQ) + " enregistrements.") FIN
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 25 mensajes |
|
| Publicado el 25,enero 2019 - 16:42 |
Bonjour Jean-Pierre,
Solution trouvée, merci pour votre aide !
paramRubrique est une chaîne = COMBO_Combo..ValeurAffichée paramTexte est une chaîne = SAI_SansNom1 ParamID est un chaîne nRang est un entier = 1 nLigne est un entier = TableSelect(TABLE_Matierepremiere, nRang, tsLigne) REQ est une Source dede Données
TANTQUE nLigne <> -1 ParamID = TABLE_Matierepremiere.COL_IDmatierepremiere[nLigne] MaReq est une chaîne = [ UPDATE matierepremiere SET %1 = '%2' WHERE IDmatierepremiere = %3 ] MaReq = ChaîneConstruit(MaReq,paramRubrique,paramTexte,ParamID) HExécuteRequêteSQL(REQ,hRequêteDéfaut,MaReq) nRang++ nLigne = TableSelect(TABLE_Matierepremiere, nRang, tsLigne) FIN TableAffiche(TABLE_Matierepremiere, taInit) |
| |
| |
| | | |
|
| | | | |
| | |
|