[Windev11][Oracle] HExecuteRequeteSQL("Update ...") ne marche pas

Le
Loko
Bonjour

Je voudrais savoir pourquoi le code suivant ne m'éffectue pas la
modification demandée et ne génère pas d'erreur.


Req_source est une Source de Données
POUR i=1 A TABLE_LIGBE..Occurrence
SI TableRécupèreFils(TABLE_LIGBE,i,taPremier)=-1 ALORS
HExécuteRequêteSQL(Req_source, hRequêteDéfaut,
ChaîneConstruit("update LIGBE set ligbe_qte=%1 where ligbe_id=%2",
COL_QTE[i], COL_LIGBE_ID[i]))
SI HErreur() ALORS
Erreur(HErreurInfo())
RENVOYER Faux
FIN
FIN
FIN


ou autre version qui ne marche pas non plus :
Req_source est une Source de Données
POUR i=1 A TABLE_LIGBE..Occurrence
SI TableRécupèreFils(TABLE_LIGBE,i,taPremier)=-1 ALORS
HExécuteRequêteSQL(Req_source,
"WADVLAR@EXPLAR",hRequêteSansCorrection, ChaîneConstruit("begin update
LIGBE set ligbe_qte=%1 where ligbe_id=%2; commit; end;", COL_QTE[i],
COL_LIGBE_ID[i]))
SI HErreur() ALORS
Erreur(HErreurInfo())
RENVOYER Faux
FIN
FIN
FIN
-

Merci
Loko
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bruno Wrk
Le #14564491
HExécuteRequêteSQL(Req_source, hRequêteDéfaut,
ChaîneConstruit("update LIGBE set ligbe_qte=%1 where ligbe_id=%2",
COL_QTE[i], COL_LIGBE_ID[i]))

=> Essaies
HExécuteRequêteSQL(Req_source, hRequêteDéfaut,
ChaîneConstruit("update LIGBE set ligbe_qte='%1' where ligbe_id='%2'",
COL_QTE[i], COL_LIGBE_ID[i]))
Bruno Wrk
Le #14564481
Je précise que j'ai ajouté des ' ' autour des variables dans la requête. (
pas forcément clair dit comme je l'ai dit )
Loko
Le #14564461
On 14 déc, 14:32, "Bruno Wrk"
HExécuteRequêteSQL(Req_source, hRequêteDéfaut,
ChaîneConstruit("update LIGBE set ligbe_qte=%1 where ligbe_id=%2",
COL_QTE[i], COL_LIGBE_ID[i]))

=> Essaies
HExécuteRequêteSQL(Req_source, hRequêteDéfaut,
ChaîneConstruit("update LIGBE set ligbe_qte='%1' where ligbe_id='%2' ",
COL_QTE[i], COL_LIGBE_ID[i]))



Bonjour

Non ce n'est pas cela car ce sont bien des numériques et pas des
chaines.

Par contre je viens de trouver : ca marche en précisant
COL_QTE[i]..Valeur, COL_LIGBE_ID[i]..Valeur.

Je pensais que ..Valeur etait facultatif ? D'ailleurs le "trace"
m'affiche des valeurs correctes si je ne précise pas ....
Loko
Le #14564211
On 14 déc, 14:34, "Bruno Wrk"
Je précise que j'ai ajouté des ' ' autour des variables dans la requ ête. (
pas forcément clair dit comme je l'ai dit )



Ca ne marchait pas non plus comme ca. Mais je viens de trouver : il
faut que je précise :

HExécuteRequêteSQL(Req_source, hRequêteDéfaut,
ChaîneConstruit("update LIGBE set ligbe_qte=%1 where ligbe_id=%2",
COL_QTE[i]..Valeur, COL_LIGBE_ID[i]..Valeur))

Si je ne mets pas les ..Valeur ca ne marche pas. C'est pas un peu
étrange ? Ce sont des colonnes de tables mémoire déclarées en
numérique ...
mat
Le #14564161
Loko wrote:
Je pensais que ..Valeur etait facultatif ? D'ailleurs le "trace"
m'affiche des valeurs correctes si je ne précise pas ....




pour tester HExécuteRequêteSQL, la première chose que je vérifie est le
contenu la chaîne envoyé à la requête.

Salutations
Mat
Publicité
Poster une réponse
Anonyme