Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zwraca wartość i zestaw wyników z procedury składowanej klasycznego asp

Już to robisz, po prostu połącz te dwa.

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

Nie musisz wybierać jednego lub drugiego, są od siebie niezależne. Jedynym problemem będzie kolejność, którą zwracają, pamiętaj, że oba OUTPUT i RETURN wartości nie będą dostępne, dopóki wszystkie zwrócone zestawy rekordów nie zostaną zamknięte.

Osobiście wolę zamykać je od razu, przechowując je jako tablice dwuwymiarowe.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wstawić 10 milionów rekordów w najkrótszym możliwym czasie?

  2. Jak zmienić sortowanie na poziomie serwera uruchomionej instancji SQL Server?

  3. IN Operator SQL

  4. SQL:widok dynamiczny z nazwami kolumn opartymi na wartościach kolumn w tabeli źródłowej

  5. SQL Server:Nieprawidłowa nazwa kolumny