OVH Cloud OVH Cloud

procédure stockée

5 réponses
Avatar
Frédéric Pionnier
Bonjour,

J'execute une procédure stockée sur un serveur MySQL,
et a chaque fois, j'ai un message d'erreur :
"can't return a result set in the given context"
Je ne comprend pas ou est le problème ..

voila le code :

iIDConnexion est un entier
bResSQLExec est un booléen
Req_Test est une Source de Données

iIDConnexion = SQLConnecte(Serveur,Login,Password,Base,"MySQL")
SI iIDConnexion=0 ALORS
// La connexion a échoué : affichage d'un message explicatif
SQLInfoGene()
Erreur(....
RETOUR
FIN

bResSQLExec = SQLExec("CALL PROC_UPDATE_PROFIL('001','999')",Req_Test)
SI PAS bResSQLExec ALORS
SQLInfoGene()
Erreur(...
SQLDéconnecte()
RETOUR
FIN

SQLDéconnecte()



Merci pour votre aide.

FP.

5 réponses

Avatar
Erwan
>Bonjour,

J'execute une procédure stockée sur un serveur MySQL,
et a chaque fois, j'ai un message d'erreur :
"can't return a result set in the given context"
Je ne comprend pas ou est le problème ..

voila le code :

iIDConnexion est un entier
bResSQLExec est un booléen
Req_Test est une Source de Données

iIDConnexion = SQLConnecte(Serveur,Login,Password,Base,"MySQL")
SI iIDConnexion=0 ALORS
// La connexion a échoué : affichage d'un message explicatif
SQLInfoGene()
Erreur(....
RETOUR
FIN

bResSQLExec = SQLExec("CALL PROC_UPDATE_PROFIL('001','999')",Req_Test)
SI PAS bResSQLExec ALORS
SQLInfoGene()
Erreur(...
SQLDéconnecte()
RETOUR
FIN

SQLDéconnecte()



Merci pour votre aide.

FP.



L'erreur doit plutôt prevenir de la procédure Mysql.
Fonctionne tel à partir de l'outil de requetage MySQL ?
Pouvez-vous nous fournir le code de la fonction (Surtout la déclaration et l'éventuel
RETURN ??? )?

Erwan.

--
Message monitoré par axinews : http://www.axinews.com/
Avatar
Frédéric Pionnier
Le code de la procédure dans MySQLQueryBrowser :

DELIMITER $$

DROP PROCEDURE IF EXISTS `FYST`.`PROC_UPDATE_PROFIL` $$
CREATE PROCEDURE `PROC_UPDATE_PROFIL`(sOldProfil varchar(3), sNewProfil
varchar(3))
BEGIN

UPDATE FG01
SET PROFIL=sNewProfil
WHERE PROFIL=sOldProfil;

SELECT *
FROM FG01
WHERE PROFIL=sNewProfil
ORDER BY IDENTIFIANT;

END $$

DELIMITER ;


on peut pas faire beaucoup plus simple. :)

FP

Erwan a écrit :
Bonjour,

J'execute une procédure stockée sur un serveur MySQL,
et a chaque fois, j'ai un message d'erreur :
"can't return a result set in the given context"
Je ne comprend pas ou est le problème ..

voila le code :

iIDConnexion est un entier
bResSQLExec est un booléen
Req_Test est une Source de Données

iIDConnexion = SQLConnecte(Serveur,Login,Password,Base,"MySQL")
SI iIDConnexion=0 ALORS
// La connexion a échoué : affichage d'un message explicatif
SQLInfoGene()
Erreur(....
RETOUR
FIN

bResSQLExec = SQLExec("CALL PROC_UPDATE_PROFIL('001','999')",Req_Test)
SI PAS bResSQLExec ALORS
SQLInfoGene()
Erreur(...
SQLDéconnecte()
RETOUR
FIN

SQLDéconnecte()



Merci pour votre aide.

FP.




L'erreur doit plutôt prevenir de la procédure Mysql.
Fonctionne tel à partir de l'outil de requetage MySQL ?
Pouvez-vous nous fournir le code de la fonction (Surtout la déclaration et l'éventuel
RETURN ??? )?

Erwan.



Avatar
ronando29
Meme pb avec une procedure stockée encore plus simple ;)

CREATE PROCEDURE `test7`()
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT * FROM POP_FPAP;
END;


erreur retournée :
PROCEDURE fpapv2.test7 can't return a result set in the given context

IEWDMSQL1001
Module=<WDMSQL>
Version=<9.00Cf> MENU 25/10/2005 1557

Perso, j'utilise l'acces natif MySQL fourni par WD (le dernier) mais il
va jusqu'a la version 5.0.2 de MySQL, et la j'utilise la 5.0.15
(dernierement sortie, version de prodution!)



Frédéric Pionnier wrote:
Le code de la procédure dans MySQLQueryBrowser :

DELIMITER $$

DROP PROCEDURE IF EXISTS `FYST`.`PROC_UPDATE_PROFIL` $$
CREATE PROCEDURE `PROC_UPDATE_PROFIL`(sOldProfil varchar(3), sNewProfil
varchar(3))
BEGIN

UPDATE FG01
SET PROFIL=sNewProfil
WHERE PROFIL=sOldProfil;

SELECT *
FROM FG01
WHERE PROFIL=sNewProfil
ORDER BY IDENTIFIANT;

END $$

DELIMITER ;


on peut pas faire beaucoup plus simple. :)

FP

Erwan a écrit :
>>Bonjour,
>>
>>J'execute une procédure stockée sur un serveur MySQL,
>>et a chaque fois, j'ai un message d'erreur :
>>"can't return a result set in the given context"
>>Je ne comprend pas ou est le problème ..
>>
>>voila le code :
>>
>>iIDConnexion est un entier
>>bResSQLExec est un booléen
>>Req_Test est une Source de Données
>>
>>iIDConnexion = SQLConnecte(Serveur,Login,Password,Base,"MySQL")
>>SI iIDConnexion=0 ALORS
>> // La connexion a échoué : affichage d'un message explicatif
>> SQLInfoGene()
>> Erreur(....
>> RETOUR
>>FIN
>>
>>bResSQLExec = SQLExec("CALL PROC_UPDATE_PROFIL('001','999')",Req_Test)
>>SI PAS bResSQLExec ALORS
>> SQLInfoGene()
>> Erreur(...
>> SQLDéconnecte()
>> RETOUR
>>FIN
>>
>>SQLDéconnecte()
>>
>>
>>
>>Merci pour votre aide.
>>
>>FP.
>
>
> L'erreur doit plutôt prevenir de la procédure Mysql.
> Fonctionne tel à partir de l'outil de requetage MySQL ?
> Pouvez-vous nous fournir le code de la fonction (Surtout la déclarati on et l'éventuel
> RETURN ??? )?
>
> Erwan.
>


Avatar
ronando29
Meme pb avec une procedure stockée encore plus simple ;)


CREATE PROCEDURE `test7`()
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT COUNT(*) FROM POP_FPAP;
END;


erreur retournée :
PROCEDURE fpapv2.test7 can't return a result set in the given context


IEWDMSQL1001
Module=<WDMSQL>
Version=<9.00Cf> MENU 25/10/2005 1557


Perso, j'utilise l'acces natif MySQL fourni par WD (le dernier) mais il

va jusqu'a la version 5.0.2 de MySQL, et la j'utilise la 5.0.15
(dernierement sortie, version de prodution!)
Avatar
ronando29
Des news pour ce pb ?

J'attends une réponse du ST pour savoir s'il vonte mettre à jour
l'accès natif