variable valor una tabla stored retornar resultado procedimiento parametros operaciones guardar entrada ejecutar devolver datos con asignar almacenado sql-server vbscript asp-classic ado named-parameters

sql-server - valor - output procedimiento almacenado sql server



Consulta parametrizada de ADO que no devuelve ningĂșn resultado (1)

Estoy usando esta consulta para obtener algunos resultados de mi vbscript en una página ASP clásica y no aparece con ningún valor. La página está en blanco y no hay errores también. Cualquier sugerencia, por favor?

dim cmd, admin_no admin_no = request.QueryString("admin") set cmd = server.CreateObject("ADODB.Command") cmd.ActiveConnection = con sql = "" sql = sql & "DECLARE @admin_no int;" sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = @admin_no" cmd.CommandText = sql cmd.CommandType = adCmdText cmd.Parameters.Append cmd.CreateParameter("@admin_no", adInteger, adParamInput, , admin_no) ''response.write(cmd.Parameters(0)) ''response.write(cmd.CommandText) set rs = server.CreateObject("ADODB.Recordset") rs.Open cmd


El problema aquí es adCmdText usa ? marcador de posición para pasar parámetros, cambiar la línea

sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = @admin_no"

a

sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = ?"

Si desea pasar parámetros con nombre a su consulta, no tiene muchas opciones, pero este pequeño truco es útil.

sql = "" sql = sql & "DECLARE @admin_no int;" sql = sql & "SET @admin_no = ?;" sql = sql & "SELECT field1, field2 FROM mydb.mytable where admin_no = @admin_no"

Enlaces útiles

  • Usando Stored Procedure en Classical ASP ... ejecute y obtenga resultados
  • Parámetros ASP para llamar a un procedimiento almacenado en SQL Server
  • Cambie el proceso almacenado a sql en línea