Ejecución SQL Server procedimientos almacenados desde una página ASP
En este artículo se muestra cómo ejecutar SQL Server procedimientos almacenados y usar parámetros desde una página de Active Server Pages (ASP).
Versión del producto original: Internet Information Services
Número de KB original: 300488
Resumen
En este artículo se supone que está familiarizado con el procedimiento para usar Objetos de datos ActiveX (ADO) en una página ASP.
Ejemplo paso a paso
Ejecute la siguiente consulta en SQL Server Analizador de consultas o SQL Server Management Studio en la base de datos Pubs:
CREATE proc MyProc ( @price smallint, @out smallint OUTPUT ) AS Select @out = count(*) from titles where price < @price GO
El procedimiento almacenado (
MyProc
) toma un parámetro de entrada (@price
) y devuelve un parámetro de salida (@out
).Nota:
De forma predeterminada, la
Northwind
base de datos de ejemplo y las bases de datos de ejemplo pubs no se instalan en SQL Server 2005. Estas bases de datos se pueden descargar desde el Centro de descarga de Microsoft. Para obtener más información sobre cómo descargar la base de datos de ejemplo Northwind y la base de datos de ejemplo pubs, visite el siguiente sitio web de Microsoft: Descarga de bases de datos de ejemplo northwind y pubsEl siguiente código de ejemplo de ASP llama al procedimiento almacenado recién creado. Puede usar este código ASP para configurar el parámetro de entrada y ejecutar la consulta.
Use el
CreateParameter
método para crear parámetros en ADO como se indica a continuación:Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
Anexó el parámetro a la colección Parameters de la siguiente manera:
Command.Parameters.Append myParameter
Nota:
Los parámetros de la colección Parameters deben coincidir con el orden de los parámetros del procedimiento almacenado.
Ejecute el comando para pasar los valores de parámetro dentro y fuera del procedimiento almacenado como se indica a continuación:
<% Dim cmd Dim ln Dim retCount Set cmd = Server.CreateObject("ADODB.Command") With cmd .ActiveConnection = "Paste your connection string here" .Commandtext = "MyProc" .CommandType = adCmdStoredProc .Parameters.Append .CreateParameter("@price", adSmallInt, adParamInput, 10).Parameters("@price") = 22 .Parameters.Append .CreateParameter("@retValue", adSmallInt, adParamOutput, 10).Execute ln, , adExecuteNoRecords retCount = .Parameters("@retValue") End with Response.Write retcount Set cmd = Nothing %>
Nota:
Las constantes que se usan en este ejemplo se pueden encontrar en el archivo Adovbs.inc . Este archivo se instala durante la instalación de Active Server Pages y se coloca en la
\Aspsamp\Samples
carpeta, que normalmente se encuentra en la\Inetpub
carpeta. Se recomienda la práctica de programación para usar las constantes en lugar de los valores numéricos al llamar al procedimiento almacenado para que el código sea más fácil de leer y mantener.<%@ LANGUAGE = VBScript %> <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
Modifique el cadena de conexión de ADO según corresponda para su entorno.
Guarde la página ASP y visualice en el explorador.
Nota:
Puede ser difícil determinar cómo llamar correctamente a un procedimiento almacenado si no está al tanto de la información de parámetros del procedimiento almacenado. Sin la información correcta, no puede crear correctamente los parámetros de ADO. Puede usar el método Refresh del objeto Parameter para rellenar automáticamente la colección Parameters, en función de la definición del procedimiento almacenado en el servidor. Por ejemplo:
Command.Parameters.Refresh
Referencias
Para obtener más información, consulte Creación de una aplicación de datos simple mediante ADO.NET.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de