Vous le faites déjà, combinez simplement les deux.
Set cmd = CreateObject("ADODB.Command")
with cmd
.ActiveConnection = cnnstr
.CommandType = adCmdStoredProc
.CommandText = "CheckEmployeeId"
.Parameters.Refresh
.Parameters("@EmployeeName") = EmployeeName
Set rst = .Execute()
end with
'You will need to close the Recordset before returning the RETURN_VALUE.
RetVal = cmd.Parameters("@RETURN_VALUE")
Vous n'avez pas besoin de choisir l'un ou l'autre, ils sont indépendants l'un de l'autre. Le seul problème sera l'ordre de retour, rappelez-vous que les deux OUTPUT
et RETURN
les valeurs ne seront pas accessibles tant que tous les jeux d'enregistrements renvoyés ne seront pas fermés.
Personnellement, je préfère les fermer tout de suite en les stockant sous forme de tableaux à 2 dimensions.
Set cmd = CreateObject("ADODB.Command")
with cmd
.ActiveConnection = cnnstr
.CommandType = adCmdStoredProc
.CommandText = "CheckEmployeeId"
.Parameters.Refresh
.Parameters("@EmployeeName") = EmployeeName
Set rst = .Execute()
If Not rst.EOF Then data = rst.GetRows()
Call rst.Close()
end with
RetVal = cmd.Parameters("@RETURN_VALUE")
'Access Recordset array
If IsArray(data) Then
'Return first column, first row.
Response.Write data(0, 0)
End If