Réccupérer le résultat d'une proc stockée

Résolu
soulkeum Messages postés 26 Date d'inscription lundi 13 septembre 2004 Statut Membre Dernière intervention 7 mars 2008 - 16 oct. 2007 à 12:51
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 - 17 oct. 2007 à 13:36
Bonjour,

De mon application en VB je fais un appel à une procedure stcockée, voici le code :<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
Set cmd = CreateObject("ADODB.Command")'créer l'objet
Set cmd.ActiveConnection = oConnection
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "HA_MAJ_REXEL"
 
With cmd
.Parameters.Append .CreateParameter("CSV_PATH", adVarChar, adParamInput, 200, Path)
.Parameters.Append .CreateParameter("RESULT", adInteger, adParamOutput)
EndWith
cmd.Execute
cmd.Parameters.Refresh
 
resultat = cmd.Parameters(1).Value
'j'ai testé aussi resultat = cmd.Parameters(("RESULT").Value  et ça ne marche pas
'ou même un msgbox resultat
Debug.Print resultat

<!-- END TEMPLATE: bbcode_code -->le problem est que je retouve tjr zero dans ma variable résultat que j'ai déclarer :
Dim resultat As Integer dans la partie clic_ du bouton mise a jour

voici le code de ma proc
<!-- BEGIN TEMPLATE: bbcode_code -->

ALTER         PROCEDURE [dbo].[HA_MAJ_REXEL]
@CSV_PATH   VARCHAR(200),
@RESULT int OUTPUT
 
AS
:
:
:
-- METTRE A JOUR LA TABLE REMGAMM
UPDATE  REMGAMM  SET  REMGAMM.REMISE = TmpStList.Remise_REXEL FROM TmpStList WHERE TmpStList.CF= REMGAMM.CODEFABRAND TmpStList.SG= CODEGAMME AND TmpStList.FOURNISS_REX= CODEFOURN
 
set @RESULT = @@ROWCOUNT

j'ai lancer l'execution ça marche nikel, mais je ne réccupere pas la valeur du update

Merci de votre aide


<!-- / message -->

4 réponses

soulkeum Messages postés 26 Date d'inscription lundi 13 septembre 2004 Statut Membre Dernière intervention 7 mars 2008
16 oct. 2007 à 14:47
Bonjour,

Oui ma requete elle s'execute correctement, j'ai vérifié.

et j'ai profité pour trouvé la solution par simple intuition : c'est la ligne cmd.Parameters.Refresh
que j'ai placé apres mon :  resultat = cmd.Parameters(1).Value

j'ai voulu executer mon appli (avec un exe) sur un autre ordi il me met VB6fr.dll not found !!!
une simple copie suffit ?
merci
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 oct. 2007 à 14:18
0 n'est pas un résultat correct ?

ta requete s'execute-t'elle comme il faut ?

altere-t'elle effectivement des lignes ?
0
soulkeum Messages postés 26 Date d'inscription lundi 13 septembre 2004 Statut Membre Dernière intervention 7 mars 2008
16 oct. 2007 à 15:34
la j'ai un gros problem
parce que je cherche le chemin unc grace à une fonction que j'ai obtenu  grace au forums
malheureusement sous une publication CITRIX cette fonction ne marche pas !!!
faut il copier les api ?
elle me retourne un chemin unc vide !!!
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
17 oct. 2007 à 13:36
Bonjour,

Pour pouvoir faire tourner ton application sur un autre PC, il faut créer un package d'installation afin d'inclure les dépendances de ton projet..
Tu trouveras comment faire en recherchant INNOSETUP+ISTOOLS sur le site.
0
Rejoignez-nous