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