PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → paramètres avec HExécuteRequêteSQL
paramètres avec HExécuteRequêteSQL
Iniciado por Philippe, ago., 04 2005 1:52 PM - 4 respostas
Publicado em agosto, 04 2005 - 1:52 PM
Bonjour à vous tous,

J'ai la requête suivante ( que j'appelle R1) qui est supposée faire un "Update " sur un champ ( Mail ) d'une table ( Annuaire ) qui est dans une base de données sous Oracle ( 8i).

ResultatRequete = HExécuteRequêteSQL(UpDateTable,ConnexionOracle, hRequêteSansCorrection,"Update ANNUAIRE set MAIL = 'test' where MATRICULE= " )

Le paramètre que je veux récupérer provient d'une autre requête ( que j'appelle R2) et qui est :
SI PAS HExécuteRequêteSQL(ReqPersonne,ConnexionOracle, hRequêteSansCorrection, MaRequete) ALORS
Erreur("Erreur d’initialisation de la requête dans Oracle "+RC+HErreurInfo())
RETOUR
FIN

Et la valeur du champ que j'ai est ReqPersonne.MATRICULE ( R1: cette requête me retourne plusieurs enregistrements ).

Je peux lire cette variable et la récupérer mais je ne peux pas la transmettre à la première requête ( R1) et faire un traitement de mise à jour ( avec condition ) sur les enregistrements que je récupère.

Donc je ne sais pas quoi mettre après la condition where MATRICULE= ???? de R1


Je vous remercie de votre aide et si vous pouviez me mettre au moins dans la bonne direction.

Bonne journéee et bon code à vous tous.
Philippe.
Publicado em agosto, 04 2005 - 7:53 PM
hLitPremier(ReqPersonne)
TANTQUE PAS hEnDehors(ReqPersonne)
ResultatRequete = HExécuteRequêteSQL(UpDateTable,ConnexionOracle,
hRequêteSansCorrection,"Update ANNUAIRE set MAIL = 'test'...
// Si MATRICULE est alpha
where MATRICULE= '" + ReqPersonne.MATRICULE + "'")
// Si MATRICULE est numérique
where MATRICULE= " + ReqPersonne.MATRICULE)
Si ResultatRequete = Faux Alors
Info("Erreur lors la mise-à-jour..."+ RC + HErreurInfo())
Fin
hAnnuleDéclaration(UpDateTable)
hLitSuivant(ReqPersonne)
Fin
hAnnuleDéclaration(ReqPersonne)

Bon dev.

Christian Potvin
Beaulieu Canada

Bonjour à vous tous,

J'ai la requête suivante ( que j'appelle R1) qui est supposée faire un "Update " sur un champ ( Mail ) d'une table ( Annuaire ) qui est dans une base de données sous Oracle ( 8i).

ResultatRequete = HExécuteRequêteSQL(UpDateTable,ConnexionOracle, hRequêteSansCorrection,"Update ANNUAIRE set MAIL = 'test' where MATRICULE= " )

Le paramètre que je veux récupérer provient d'une autre requête ( que j'appelle R2) et qui est :
SI PAS HExécuteRequêteSQL(ReqPersonne,ConnexionOracle, hRequêteSansCorrection, MaRequete) ALORS
Erreur("Erreur d’initialisation de la requête dans Oracle "+RC+HErreurInfo
())
RETOUR
FIN

Et la valeur du champ que j'ai est ReqPersonne.MATRICULE ( R1: cette requête me retourne plusieurs enregistrements ).

Je peux lire cette variable et la récupérer mais je ne peux pas la transmettre à la première requête ( R1) et faire un traitement de mise à jour ( avec condition ) sur les enregistrements que je récupère.

Donc je ne sais pas quoi mettre après la condition where MATRICULE= ???? de R1


Je vous remercie de votre aide et si vous pouviez me mettre au moins dans la bonne direction.

Bonne journéee et bon code à vous tous.
Publicado em agosto, 05 2005 - 12:47 PM
Bonjour,

Je te remercie Christian pour ton aide. J'ai codé comme tu me l'as proposé ( MATRICULE est alpha ), la requête s'exécute parfaitement ( pas d'erreur en retour ). Mais le champ MAIL de la table ANNUAIRE reste toujours inchangé dans la base Oracle.
Ca commence à devenir frustrant.
As tu une autre idée ?

Si quelqu'un d'autre voudrait et pouvait bien m'aider je vous en serais très reconnaissant !

Bonne journéee à vous et merci encore.

Philippe.
Publicado em agosto, 05 2005 - 1:22 PM
Re Bonjour Christian,

Tout fonctionne bien, j'ai pu faire la mise à jour dans le champ MAIL de ma table ANNUAIRE.

Il y avait un espace entre la simple quote et la double quote ( ' " ) de la variable '"+ReqPersonne.MATRICULE+"'.

Je te remercie encore pour ton aide.
Na trouvé. ( en créole Reunionnais : à plus ).
Publicado em agosto, 05 2005 - 8:47 PM
Heureux d'avoir pu t'aider...

Christian