Return a value and a result set from stored procedure classic asp

后端 未结 1 687
南笙
南笙 2020-12-18 06:30

I want to get both a return code and a result set back from a stored procedure in classic ASP.

CREATE PROCEDURE CheckEmployeeId
@EmployeeName nvarchar(255)
A         


        
相关标签:
1条回答
  • 2020-12-18 07:25

    You are already doing it just combine the two.

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

    You don't need to choose one or the other the are independent of each other. The only issue will be the order they return, remember that both OUTPUT and RETURN values will not be accessible until all returned Recordsets are closed.

    Personally, I prefer to close them straight away by storing them as 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
    
    0 讨论(0)
提交回复
热议问题