sql >> Database teknologi >  >> RDS >> Sqlserver

Returner en værdi og et resultatsæt fra lagret procedure classic asp

Du gør det allerede, bare kombiner de to.

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

Du behøver ikke at vælge det ene eller det andet, da de er uafhængige af hinanden. Det eneste problem vil være den rækkefølge, de returnerer, husk at både OUTPUT og RETURN værdier vil ikke være tilgængelige, før alle returnerede postsæt er lukket.

Personligt foretrækker jeg at lukke dem med det samme ved at gemme dem som 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. Mysql svarende til php metaphone og soundex

  2. sqlalchemy.exc.NoSuchModuleError:Kan ikke indlæse plugin:sqlalchemy.dialects:postgres

  3. Sådan viser du tabeller i den aktuelle database ved hjælp af PostgreSQL

  4. UTF-8-strenge i en MySQL-database blev rodet efter konfigurationsændring