Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengembalikan nilai dan hasil yang ditetapkan dari prosedur tersimpan asp klasik

Anda sudah melakukannya cukup gabungkan keduanya.

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

Anda tidak perlu memilih satu atau yang lain yang independen satu sama lain. Satu-satunya masalah adalah pesanan yang mereka kembalikan, ingat bahwa keduanya OUTPUT dan RETURN nilai tidak akan dapat diakses sampai semua Recordset yang dikembalikan ditutup.

Secara pribadi, saya lebih memilih untuk langsung menutupnya dengan menyimpannya sebagai Array 2 Dimensi.

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. Kapan/Mengapa menggunakan Cascading di SQL Server?

  2. SQL Server DELETE – Menghapus Satu atau Lebih Baris dari Tabel dengan Skenario Sedikit Lanjut

  3. Cara menghapus karakter spasi putih dari string di SQL Server

  4. Bagaimana Melakukan GABUNGAN ANTI SEMI KIRI di SQL Server

  5. SQL dinamis untuk menghasilkan nama kolom?