Aprender a usar procedimientos almacenados es uno de los cursos que los programadores de ASP deben aprender. Todas las grandes bases de datos admiten procedimientos almacenados. El artículo de hoy es una colección completa del uso de procedimientos almacenados ASP compartidos por el editor del editor de la nueva tecnología. ¡Vamos al siguiente artículo para obtener más información!
1. Llame a los procedimientos almacenados sin parámetros
<%
establecer conn = server.createObject ("ADODB.Connection")
Establecer cmd = server.createObject ("ADODB.COMMAND")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
Establecer cmd.activeconnection = Conn
cmd.commandText = "{llamar nono}"
'establecer rs = cmc.exe o cmd.execute
establecer rs = cmd.execute ()
%>
2. Un procedimiento almacenado para parámetros de entrada
<%
establecer conn = server.createObject ("ADODB.Connection")
Establecer cmd = server.createObject ("ADODB.COMMAND")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
Establecer cmd.activeconnection = Conn
cmd.commandText = "{llamar a OneInput (?)}"
cmd.parameters.append cmd.createParameter ("@aaa", adinteger, adparaminput)
cmd ("@aaa") = 100
cmd.execute ()
%>
3. Un parámetro de entrada y un parámetro de salida
<%
establecer conn = server.createObject ("ADODB.Connection")
Establecer cmd = server.createObject ("ADODB.COMMAND")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
Establecer cmd.activeconnection = Conn
cmd.commandText = "{llame a OneInOut (?,?)}"
cmd.parameters.append cmd.createParameter ("@aaa", adinteger, adparaminput)
cmd ("@aaa") = 10
cmd.parameters.append cmd.createParameter ("@bbb", adinteger, adparamoutput)
cmd.execute ()
bbb = cmd ("@bbb")
%>
4. Un parámetro de entrada, un parámetro de salida y un valor de retorno
<%
establecer conn = server.createObject ("ADODB.Connection")
Establecer cmd = server.createObject ("ADODB.COMMAND")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
Establecer cmd.activeconnection = Conn
cmd.commandText = "{? = llamar a Oneereturn (?,?)}"
cmd.parameters.append cmd.createParameter ("@return_value", adintager, adparamreturnValue)
cmd.parameters.append cmd.createParameter ("@aaa", adinteger, adparaminput)
cmd ("@aaa") = 10
cmd.parameters.append cmd.createParameter ("@bbb", adinteger, adparamoutput)
cmd.execute ()
bbb = cmd ("@bbb")
rrr = cmd ("@return_value")
%>
Cómo llamar al procedimiento almacenado SQL en ASP
www.lucky365.net 2002-2-7 jixiang365
<%set conexion1 = server.createObject ("ADODB.Connection")
conexión1.Apen ... 'Únete
Establecer command1 = server.createObject ("ADODB.COMMAND")
Establecer command1.Activeconnection = Connection1
comando1.CommandType = 4
comando1.CommandText = "SP_1" 'Nombre SP
comando1.parameters (1) = ... 'Valor de parámetros
comando1.parameters (2) = ...
establecer registro1 = command1.execute ()
%>
Consejos para los procedimientos almacenados ASP llamando a ASP
1. El más simple es el siguiente
Dim objconn
Establecer objconn = server.createObject ("Adobd.Connection")
objconn.open Application ("Connection_String")
'Llame al procedimiento almacenado para incrementar un contador en la página
objconn.execute "ejecut sp_addhit"
Sin parámetros, sin retorno, sin manejo de errores, eso es todo
2. Una llamada con parámetros
objconn.execute "exec sp_addhit 'http://www.aspalliance.com', 1"
Tenga en cuenta que los parámetros divididos no se devuelven a los registros.
3. Regrese al registro
Dim objconn
Dim objrs
Establecer objconn = server.createObject ("Adobd.Connection")
Establecer objrs = server.createObject ("Adobd.Recordset")
objconn.open Application ("Connection_String")
'Llame al procedimiento almacenado para incrementar un contador en la página
objrs.open objconn, "ejecut sp_listarticles '15/01/2001'"
'Recorrer el conjunto de registros y mostrar cada artículo
4 ....
Dim objconn
Dim objcmd
'Instanciar objetos
Establecer objconn = server.createObject ("ADODB.Connection")
Establecer objcmd = server.createObject ("ADODB.COMMAND")
Conn.open Application ("ConnectionString")
Con objcmd
.Activeconnection = Conn 'También puede especificar una cadena de conexión aquí
.CommandText = "SP_INSERTARTLE"
.CommandType = ADCMDStoredProc 'requiere el archivo Adovbs.InC o la meta etiqueta typelib
'Agregar parámetros de entrada
.Parameters.Append .CreateParameter ("@columnist_id", addOuble, adparamInput, columnist_id)
.Parameters.Append .CreateParameter ("@url", advarchar, adparaminput, 255, url)
.Parameters.Append .CreateParameter ("@Title", Advarchar, AdparamInput, 99, URL)
.Parameters.Append .CreateParameter ("@Descripción", Adlongvarchar, _
Adparaminput, 2147483647, descripción)
'Agregar parámetros de salida
.Parameters.Append .CreateParameter ("@link_id", adinteger, adparamoutput ,, 0)
'Ejecutar la función
'Si no devuelve un conjunto de registros, use la opción del parámetro AdexecUteRecords
.ExCute, AdexecUteRecords
link_id = .Parameters ("@link_id")
Terminar con
5. Código de procedimiento almacenado
Crear procedimiento dbo.sp_inserTarticle
(
@columnist_id int,
@url Varchar (255),
@Title Varchar (99),
@Description Text
@link_id int output
)
COMO
COMENZAR
Insertar en dbo.t_link (columnist_id, url, título, descripción)
Valores (@columnist_id,@url,@title,@descripción)
Seleccione @link_id = @@ Identity
FIN
Varias formas de llamar a los procedimientos almacenados con parámetros
Recientemente, muchos amigos han hecho preguntas sobre llamar a los procedimientos almacenados. Aquí hay una breve introducción a varios métodos de llamadas a ASP procedimientos almacenados con parámetros.
1 Este es también el método más fácil, con dos parámetros de entrada, sin valor de retorno:
establecer conexión = server.createObject ("ADODB.Connection")
conexión.
Connection.ExCute "Procname VarValue1, VarValue2"
'' Borrar todos los objetos en nada, liberar recursos
Connection.clar
Establecer conexión = nada
2 Si desea devolver el conjunto de registros:
establecer conexión = server.createObject ("ADODB.Connection")
conexión.
establecer rs = server.createObject ("ADODB.Recordset")
rs.open "EXEC Procname VarValue1, VarValue2", conexión
'' Borrar todos los objetos en nada, liberar recursos
rs.
Connection.clar
establecer RS = nada
Establecer conexión = nada
3 Los dos métodos anteriores no pueden tener un valor de retorno (excepto Registro). Si desea obtener el valor de retorno, debe usar el método de comando.
En primer lugar, hay dos tipos de valores de retorno. Una es devolver directamente un valor en el procedimiento almacenado, al igual que las funciones de los valores de retorno de C y VB; el otro es devolver múltiples valores,
Los nombres variables que almacenan estos valores deben especificarse primero en el parámetro de llamada.
Este ejemplo tratará con múltiples parámetros, parámetros de entrada, parámetros de salida, registros de retorno y un valor de retorno directo (¿es todo suficiente?)
El procedimiento almacenado es el siguiente:
Usar pubs
IR
- Crear procedimientos almacenados
Crear procedimiento sp_pubstest
- Definir tres variables de parámetros, tenga en cuenta la tercera, la marca especial se usa para la salida
@au_lname varchar (20),
@intid int,
@intidout int salida
COMO
Seleccione @intidout = @intid + 1
SELECCIONAR *
De autores
Donde au_lname como @au_lname + ''%''
-Return un valor directamente
Regresar @intid + 2
El programa ASP que llama al procedimiento almacenado es el siguiente:
< %@ Idioma = vBscript %>
<%
Dim CMDSP
Adors tenues
Dim ADCMDSPStoredProc
Dim adparamreturnvalue
Dim adparaminput
Dim adparamoutput
Dim adintesger
Dim ival
Dim oval
Dim Adofield
Dim Agarchar
'Estos valores son constantes predefinidas en VB y pueden llamarse directamente, pero no predefinidos en VBScript
adcmdspstoredproc = 4
adparamreturnValue = 4
adparaminput = 1
adparamoutput = 2
adintager = 3
adtarchar = 200
ival = 5
Ovalo = 3
'' Crear un objeto de comando
Establecer cmdsp = server.createObject ("ADODB.COMMAND")
'' Crear un enlace
Cmdsp.activeConnection = "controlador = {SQL Server}; server = (local); uid = sa; pwd =; database = pubs"
'' Defina el nombre de llamada del objeto de comando
Cmdsp.commandText = "sp_pubstest"
'' Establezca el tipo de llamada de comando como un procedimiento almacenado (ADCMDSPSTORDPROC = 4)
Cmdsp.commandtype = adcmdspstoredproc
'' Agregar parámetros al objeto de comando
'' Definir que el procedimiento almacenado tiene un valor de retorno directo, y es un entero, el valor predeterminado es 4
Cmdsp.parameters.append cmdsp.createParameter ("return_value", adinteger, adparamreturnValue, 4)
'' Defina un parámetro de entrada de caracteres
Cmdsp.parameters.append cmdsp.createParameter ("@au_lname", advarchar, adparaminput, 20, "m")
'' Defina un parámetro de entrada entero
Cmdsp.parameters.append cmdsp.createParameter ("@intid", adinteger, adparaminput ,, iver)
'' Defina un parámetro de salida entero
Cmdsp.parameters.append cmdsp.createparameter ("@intidout", adintager, adparamoutput, oval)
'' Ejecute el procedimiento almacenado y obtenga el conjunto de registros de retorno
Establecer adors = cmdsp.execute
'' Imprima cada registro, los campos en él son virtuales, puede ignorarlo
Mientras que no es adors.EOF
para cada Adofield en Adors.
Respuesta.write Adofield.name & "=" & Adofield.Value & "
"& vbcrlf
Próximo
Respuesta. Escribe "
"
adors.movenext
Encaminarse a
'' Imprima dos valores de salida:
Respuesta. Escribe "
@intidout = "& cmdsp.parameters ("@intidout "). Valor &"
"
Respuesta. Escribe "
Valor de retorno = "& cmdsp.parameters (" return_value "). Valor &"
"
'' Gran limpieza
Establecer Adors = nada
Establecer cmdsp.activeconnection = nada
Establecer cmdsp = nada
%>
Hay otras formas, que están un poco apagadas, y hablaré de eso más tarde
Este artículo ha hecho referencia a muchos artículos y no se enumerará aquí.
Uso de procedimientos almacenados en ASP
Para mejorar la eficiencia de los programas ASP, a veces es necesario usar la tecnología de almacenamiento utilizando SQL Server en ASP. Aquí hay una breve introducción.
Establecimiento de procedimientos almacenados
Aquí hay una breve introducción a cómo establecer procedimientos almacenados en el gerente empresarial de SQL Server:
(1) Abra Enterprise Manager
(2) Seleccione el grupo de servidores (grupo SQL Server), servidor, base de datos (base de datos) y la base de datos correspondiente, haga clic con el botón derecho en el elemento de procdures almacenados en la base de datos correspondiente, seleccione un nuevo procedimiento almacenado en el menú emergente e ingrese la declaración para crear un procedimiento almacenado en propiedades de procedimientos almacenados. Aquí hay un ejemplo:
Crear procedimiento proctest @mycola char (10),@mycolb char (10),@mycolc text como
Insertar en ChatData (Mycola, MycolB, MyColc) Valores (@mycola,@mycolb,@mycolc)
En la documentación de SQL Server, su sintaxis es:
Crear proc [edure] procedimiento_name [; número] [
{@parameter data_type} [variar] [= default] [salida]]
[, ... n] [con {recompilar | Encriptación
| Recompilar, cifrado}] [para replicación] como
sql_statement [... n]
Si no está familiarizado con la sintaxis SQL, puede usar la sintaxis de Check para verificar la sintaxis. En el ejemplo anterior, significa que el procedimiento almacenado se crea con un procedimiento almacenado llamado Mycola y 3 parámetros. El primer parámetro Tipo de datos Mycola es Char y Ancho 10; El segundo tipo de datos de parámetros es Char y Ancho 10, y el tercer tipo de datos de parámetros es el texto. Aquí está el tipo de datos de SQL Server.
Después de establecer el procedimiento almacenado, lo siguiente es cómo llamar al procedimiento almacenado en el programa ASP: para mejorar la eficiencia del programa ASP, a veces es necesario usar la tecnología de almacenamiento utilizando SQL Server en ASP. Aquí hay una forma simple de agregar parámetros en la declaración anterior P.Append CM.CreateParameter ("@mycolc", 201, 1, 250), el formato es:
P.Append CM.CreateParameter ("Nombre del parámetro", tipo, dirección, tamaño)
El significado del tipo de valor del parámetro es el siguiente:
Función de valor entero de valor de nombre
Tipo de datos de fecha y hora addbtimestamp 135
Valor entero decimal de Addecimal 14
Valor decimal de doble precisión addouble 5
Mensaje de error del sistema Aderror 10
ADGUID 72 Identificador único globalmente único
Addispath 9 COM/OLE Automatic Object (objeto de automatización)
adintager 3 4 bytes entero firmado
Adiunknown 13 com/ole objeto
Adlongvarbinary 205 gran valor de 2 bytes
Adlongvarchar 201 Valor de cadena grande
adlongvarwchar 203 gran cadena no codificada
Valor entero decimal de 131 adnumérico
adsingle 4 punto flotante de precisión única decimal
adsmallint 2 2 bytes entero firmado
adtinyint 16 1 byte entero firmado
AdunsignedBigint 21 Integer Unsigned de 8 bytes
AdunsignedInt 19 4 byte Unsigned Integer
adunsignedsmallint 18 2 bytes Unsigned entero
adunsignedtinyint 17 1 byte sin signo entero
AduserDefined 132 Tipo de datos definido por el usuario
Objeto Avariant 12 Ole
Advarbinary 204 Valor variable de carácter de doble byte
Valor variable de carácter de 200 caracteres de Agarchar
Advertar 202 Valor de variable de cadena no codificada
ADWCHAR 130 Cadena no codificada
El significado de los valores de dirección es el siguiente:
Función de valor entero de valor de nombre
AdparamInput 1 Permitir que los datos se ingresen en este parámetro
AdParamoutput 2 permite que los datos se generen a este parámetro
AdparamInputoutput 3 permite la entrada y salida de datos a este parámetro
AdparamReturnValue 4 permite que los datos se devuelvan de una subrutina a este parámetro
Lo anterior es una colección completa del uso de procedimientos almacenados ASP recopilados por el editor del canal de tecnología New New Wrong. ¡Espero que sea de ayuda para su aprendizaje!