Is het mogelijk om een stored procedure aan te roepen en output parameters terug te krijgen zonder dat ik gebruik maar van het Command Object?
De stored procedure ziet ongeveer zo uit
En deze geeft een goede waarde terug als ik deze via de adob.command wijze aanroep.
Maar Omdat MS eigenlijk zelf het gebruik van adob.command afraad vroeg ik mij af of dit ook op een andere wijze kan (eigenlijk zijn alle voorbeelden op het internet met het gebruik van adob.command). normaal als ik een SP wil uitlezen kan ik dat ook doen zonder dat ik adob.command gebruik en dan kan ik de parameters als volgt meegeven
uspGETDATA @pWAARDEIN = "TEST"
Echter dit trucje gaat niet op voor de output parameter. Als iemand mij zou kunnen helpen zou dat heel fijn zijn.
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT OUTPUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT VARCHAR(50) OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT VARCHAR(50) OUTPUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT OUTPUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT VARCHAR(50) OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT VARCHAR(50) OUTPUT
De stored procedure ziet ongeveer zo uit
SQL:
1
2
3
4
5
6
7
8
9
10
11
| CREATE PROCEDURE [dbo].[uspGETDATA] --Parameter in @pWAARDEIN varchar(50) = NULL, --Paramter uit @rpWAARDEUIT varchar(50) OUTPUT AS SELECT @rpWAARDEUIT = kolomwaarde2 FROM TABLE WHERE kolomwaarde1 = @pWAARDEIN |
En deze geeft een goede waarde terug als ik deze via de adob.command wijze aanroep.
VBScript:
1
2
3
4
5
6
7
8
9
| set cmd = server.CreateObject("ADODB.command") With cmd .ActiveConnection = cn .CommandText="uspGETDATA" .Commandtype = adCmdStoredProc .Parameters.Append .CreateParameter("@pWAARDEIN ",adVarChar, adParamInput, 50,"TEST") .Parameters.Append .CreateParameter("@rpWAARDEUIT",adInteger, adParamOutput) .Execute ,,adExecuteNoRecords End With |
Maar Omdat MS eigenlijk zelf het gebruik van adob.command afraad vroeg ik mij af of dit ook op een andere wijze kan (eigenlijk zijn alle voorbeelden op het internet met het gebruik van adob.command). normaal als ik een SP wil uitlezen kan ik dat ook doen zonder dat ik adob.command gebruik en dan kan ik de parameters als volgt meegeven
uspGETDATA @pWAARDEIN = "TEST"
Echter dit trucje gaat niet op voor de output parameter. Als iemand mij zou kunnen helpen zou dat heel fijn zijn.
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT OUTPUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT VARCHAR(50) OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT VARCHAR(50) OUTPUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT OUTPUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT VARCHAR(50) OUT
uspGETDATA @pWAARDEIN = "TEST", @rpWAARDEUIT = @rpWAARDEUIT VARCHAR(50) OUTPUT