PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → 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
Started by guest, Mar., 23 2006 10:30 AM - 3 replies
Posted on March, 23 2006 - 10:30 AM
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.
Posted on March, 23 2006 - 11:48 AM
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
Posted on March, 23 2006 - 2:07 PM
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!
Posted on March, 24 2006 - 5:18 PM
Pas d'infos de ce côté, désolé.