Sie tun es bereits, kombinieren Sie einfach die beiden.
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")
Sie müssen sich nicht für das eine oder das andere entscheiden, sie sind unabhängig voneinander. Das einzige Problem wird die Reihenfolge sein, in der sie zurückgegeben werden. Denken Sie daran, dass beide OUTPUT
und RETURN
Auf Werte kann erst zugegriffen werden, wenn alle zurückgegebenen Recordsets geschlossen sind.
Ich persönlich bevorzuge es, sie sofort zu schließen, indem ich sie als zweidimensionale Arrays speichere.
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