PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → Récupérer la valeur de retour d'une procédure stockée SQL
Récupérer la valeur de retour d'une procédure stockée SQL
Iniciado por guest, 23,mar. 2006 10:30 - 3 respuestas
Publicado el 23,marzo 2006 - 10:30
Bonjour,

J'essaie de récupérer dans Windev la valeur de retour d'une procédure stockée que j'appelle depuis mon application.
J'arrive à lancer la procédure stockée et lui passer des paramètres sans problème mais impossible de récupérer ce que la procédure retourne.

Il y a un exemple pour oracle dans l'aide mais je n'arrive pas à le transformer et à le faire fonctionner pour SQL Server.

Merci pour votre aide.
Publicado el 23,marzo 2006 - 11:48
Bonjour

Voici un exemple de code d'appel à une ps SQLServer avec test d'un paramètre en retour

Req est une chaîne
Ret est une chaîne
Cmd est une chaîne

Req="REQ"+DonneIdentifiant()
Cmd="declare @OD_ID char(20), @AN_CODE char(5), @EtatODR smallint, @EtatANO smallint, @Ret SmallInt EXEC ChgODREtatCourrier @OD_ID='"+pOD_ID+"', @AN_CODE='"+pAN_CODE+"', @EtatODR="+pEtatODR+", @EtatANO="+pEtatANO+", @Retour=@Ret Output Select @Ret"

SQLTransaction(sqlDébut)
SI PAS SQLExec(Cmd,Req) ALORS
SQLErreur(Req,Cmd)
SQLTransaction(sqlAnnule)
RENVOYER Faux
SINON
SI SQLFetch(Req)=0 ALORS
Ret = SQLLitCol(Req,1)
SQLFerme(Req)
FIN
SI Ret=1
SQLTransaction(sqlFin)
RENVOYER Vrai
SINON
SQLTransaction(sqlAnnule)
RENVOYER Faux
FIN
FIN


Bon courage
Publicado el 23,marzo 2006 - 14:07
Merci je vais regarder ça de plus pret.

Je vois que tu utilises la fonction SQLExec(), y aurait il un moyen de s'en passer? Car je serai amené à utiliser des procédures stockées également depuis un PDA. Or, Windev Mobile n'intègre pas la fonction SQLExec().

Merci pour ton aide!
Publicado el 24,marzo 2006 - 17:18
Pas d'infos de ce côté, désolé.