Hay muchos artículos sobre ASP y procedimientos almacenados, pero dudo que los autores lo hayan practicado. Leí mucha información relevante cuando estaba al principio y descubrí que muchos de los métodos proporcionados no eran el caso en la práctica. Para aplicaciones simples, estos materiales pueden ser útiles, pero solo porque son simplemente iguales, plagiaron mutuamente, y las aplicaciones ligeramente más complejas serán vagas.
Ahora, básicamente accedo a SQLServer llamando a procedimientos almacenados. El siguiente texto es un resumen de la práctica, y espero que sea útil para todos.
Un procedimiento almacenado es uno o más comandos SQL almacenados en la base de datos como objetos ejecutables.
La definición siempre es abstracta. Los procedimientos almacenados son en realidad un conjunto de declaraciones SQL que pueden completar ciertas operaciones, pero este conjunto de declaraciones se coloca en la base de datos (solo hablaremos sobre SQLServer aquí). Si creamos procedimientos almacenados y llamamos a los procedimientos almacenados en ASP, podemos evitar mezclar las declaraciones SQL con el código ASP. Hay al menos tres beneficios de hacer esto:
Primero, mejore enormemente la eficiencia. El procedimiento almacenado en sí es muy rápido, y llamar al procedimiento almacenado puede reducir en gran medida el número de interacciones con la base de datos.
Segundo, mejorar la seguridad. Si las declaraciones SQL se mezclan en el código ASP, una vez que se pierde el código, significa que la estructura de la biblioteca se pierde.
Tercero, es propicio para la reutilización de las declaraciones SQL.
En ASP, los procedimientos almacenados generalmente se llaman a través de objetos de comando. Según diferentes situaciones, este artículo también presenta otros métodos de llamadas. Para conveniencia de explicación, la siguiente clasificación simple se realiza en función de la entrada y salida del procedimiento almacenado:
1. Solo devuelve procedimientos almacenados para un solo conjunto de registros
Supongamos que existe el siguiente procedimiento almacenado (el propósito de este artículo no es describir la sintaxis T-SQL, por lo que el procedimiento almacenado solo da código y no explica):
/*Sp1*/
La copia del código es la siguiente:
CreateProceduredBo.getUserList
como
setnocounton
Comenzar
SELECCIONAR*DETDBO. [USERInfo]
fin
ir
El procedimiento almacenado anterior obtiene todos los registros en la tabla UserInfo y devuelve un conjunto de registros. El código ASP para llamar al procedimiento almacenado a través del objeto de comando es el siguiente:
'** Procedimiento de llamadas a través del objeto de comando **
Dimmycomm, Myrst
Setmycomm = server.createObject ("ADODB.COMMAND")
MyComm.Activeconnection = MyConstr'sMyConstr es la cadena de conexión de la base de datos
MyComm.CommandText = "getUserList" 'Especifique el nombre del procedimiento almacenado
Mycomm.commandType = 4 'indica que este es un procedimiento almacenado
MyComm.Prepared = True 'Requiere que los comandos SQL se compilen primero
Setmyrst = mycomm.execute
Setmycomm = nada
El conjunto de registros obtenido por el procedimiento almacenado se asigna a MYRST. A continuación, Myrst se puede operar.
En el código anterior, la propiedad CommandType indica el tipo de solicitud, el valor y la descripción son los siguientes: