Cómo llamar a procedimientos almacenados de SQL Server desde ASP

Seleccione idioma Seleccione idioma
Id. de artículo: 164485 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Para obtener una versión de este artículo para Microsoft Visual Basic .NET, consulte 306574.
En este artículo se demuestran tres métodos para llamar a un procedimiento almacenado desde páginas Active Server utilizando ActiveX Data Objects (ADO).

Más información

El ejemplo siguiente utiliza el objeto Command para llamar a un procedimiento almacenado sp_test de ejemplo. Este procedimiento almacenado acepta un entero y tiene también un valor de retorno de un entero:
   <%@ LANGUAGE="VBSCRIPT" %>
   <!--#include virtual="/ASPSAMP/SAMPLES/ADOVBS.INC"-->
   <HTML> <HEAD><TITLE>Poner aquí el título del documento</TITLE></HEAD> <BODY> Este primer método consulta al origen de datos los parámetros del procedimiento almacenado. Éste es el método menos eficaz para llamar a un procedimiento almacenado.<BR>
   <%
   Set cn = Server.CreateObject("ADODB.Connection")
   Set cmd = Server.CreateObject("ADODB.Command")
   cn.Open "data source name", "userid", "password"
   Set cmd.ActiveConnection = cn
   cmd.CommandText = "sp_test"
   cmd.CommandType = adCmdStoredProc
   ' Ask the server about the parameters for the stored proc
   cmd.Parameters.Refresh
   ' Assign a value to the 2nd parameter.
   ' Index of 0 represents first parameter.
   cmd.Parameters(1) = 11
   cmd.Execute
   %>
   Llamada mediante el método 1<BR>
   ReturnValue = <% Response.Write cmd.Parameters(0) %><P>

   <!-- ************************************************************ -->

   El método 2 declara el procedimiento almacenado y a continuación declara explícitamente los parámetros.<BR>
   <%
   Set cn = Server.CreateObject("ADODB.Connection")
   cn.Open "data source name", "userid", "password"
   Set cmd = Server.CreateObject("ADODB.Command")
   Set cmd.ActiveConnection = cn
   cmd.CommandText = "sp_test"
   cmd.CommandType = adCmdStoredProc
   cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _
      adParamReturnValue)
   cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _
      adParamInput)
   ' Set value of Param1 of the default collection to 22
   cmd("Param1") = 22
   cmd.Execute
   %>
   Llamada mediante el método 2<BR>
   ReturnValue = <% Response.Write cmd(0) %><P>

   <!-- ************************************************************ -->

   El método 3 es probablemente la manera más formal de llamar a un procedimiento almacenado. Utiliza canocial
   <%
   Set cn = Server.CreateObject("ADODB.Connection")
   cn.Open "data source name", "userid", "password"
   Set cmd = Server.CreateObject("ADODB.Command")
   Set cmd.ActiveConnection = cn
   ' Define the stored procedure's inputs and outputs
   ' Question marks act as placeholders for each parameter for the
   ' stored procedure
   cmd.CommandText = "{?=call sp_test(?)}"
   ' specify parameter info 1 by 1 in the order of the question marks
   ' specified when we defined the stored procedure
   cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _
   adParamReturnValue)
   cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _
     adParamInput)
   cmd.Parameters("Param1") = 33
   cmd.Execute
   %>
   Llamada mediante el método 3<BR>
   ReturnValue = <% Response.Write cmd("RetVal") %><P>
   </BODY> </HTML>
				
Observe que en los ejemplos anteriores se utilizan varios métodos de acceso a la colección Parameters del objeto Command. Algunos utilizan la colección predeterminada del objeto Command, mientras que otros especifican a qué propiedad de una colección determinada se tiene acceso.

Referencias

Para obtener los artículos de Knowledge Base más recientes y otra información de soporte técnico acerca de Visual InterDev y páginas Active Server, visite la página siguiente del sitio del Servicio de soporte técnico de Microsoft:
http://support.microsoft.com/search/default.aspx?qu=vinterdev

Propiedades

Id. de artículo: 164485 - Última revisión: martes, 02 de mayo de 2006 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft Active Server Pages 4.0
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.1 Service Pack 1
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
Palabras clave: 
kbcode kbdatabase kbhowto kbsample kbscript KB164485
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com