sql >> Database >  >> RDS >> Sqlserver

Retourneer een waarde en een resultaatset van de opgeslagen procedure classic asp

Je doet het al, combineer de twee.

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")

U hoeft niet voor het een of het ander te kiezen, ze zijn onafhankelijk van elkaar. Het enige probleem is de bestelling die ze retourneren, onthoud dat zowel OUTPUT en RETURN waarden zijn pas toegankelijk als alle geretourneerde Recordsets zijn gesloten.

Persoonlijk geef ik er de voorkeur aan ze meteen te sluiten door ze op te slaan als 2 Dimensional Arrays.

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



  1. Toegang tot privévariabele in PHP ( PDO)

  2. Kan MySQL BIT-veldwaarde niet zien bij gebruik van SELECT

  3. Hoe synchroniseer ik een bepaalde tabel met dezelfde naam en databasenaam tussen twee verschillende onafhankelijke netwerken waar replicatie niet mogelijk is?

  4. sub-tekenreeks in orakel