ASP llama al programa de almacenamiento SQLServer
Fuente http://www.bmj2000.com/vb/techniccolumn/subdetail.asp?mainid=2&boardid=asp&itemid=%CA%FD%BE%DD%BF%E2%B2%D9%D7%F7&recid=2216
Llamar a los procedimientos almacenados de la base de datos
<%
SetDataConn = server.createObject ("ADODB.Connection")
'Crear un objeto de conexión
DataConn.open "dsn = sinotrans; server = app_server; uid = sa; pwd =; app = Microsoft (r) desarrollador
Setcmdtemp = server.createObject ("ADODB.COMMAND")
'Crear un objeto de comando
Setrst = server.createObject ("ADODB.Recordset")
'Crear un objeto de conjunto de registros
cmdtemp.commandText = "dbo.pd_test" 'Nombre del procedimiento almacenado
cmdtemp.commandtype = 4
'La categoría de comando es 4, denotada como procedimiento almacenado
Setcmdtemp.activeconnection = dataConn
Settmparam = cmdtemp.createParameter ("returnValue", 3,4,4)
cmdtemp.parameters.appendtmparam
Settmparam = cmdtemp.createParameter ("@begindate", 135,1,16, riqi)
'Crear un objeto de parámetro de entrada
cmdtemp.parameters.appendtmparam
rst.opencmdtemp ,, 1,3
'Generar resultados de consulta
%>
El procedimiento almacenado llamado aquí es PD_TEST, que es un método estándar proporcionado en ADO. Sin embargo, hay un problema, es decir, cuando hay más de dos declaraciones selectas en el procedimiento almacenado, pero es lógicamente imposible ejecutar al mismo tiempo, ADO le indicará que hay demasiadas declaraciones selectas en el procedimiento almacenado. La solución es ejecutar directamente el procedimiento almacenado utilizando el método de ejecución del objeto de conexión de ADO, de la siguiente manera:
<%
SetDataConn = server.createObject ("ADODB.Connection")
'Crear un objeto de conexión
DataConn.open "dsn = sinotrans; server = app_server; uid = sa; pwd =; app = Microsoft (r) desarrollador
ss = "ejecutedbo.pd_test" & "'" & riqi1 & "'" "
Setrs = dataconn.execute (SS)
%>