Réfléchons-nous souvent sur certaines questions lorsque nous apprenons ASP à appeler les procédures stockées? Par exemple, comment faire fonctionner la méthode d'appel des procédures stockées? Quels sont les paramètres qui passent aux procédures stockées, etc. Aujourd'hui, le nouveau canal technologique du bug vous amènera à l'article suivant pour apprendre ces connaissances. J'espère que ce sera utile à votre apprentissage!
1. Méthodes générales pour appeler les procédures stockées
Supposons d'abord qu'il existe une procédure stockée DT_USERS dans le serveur SQL:
Créer une procédure [dbo]. [Dt_users]
COMME
Sélectionner * parmi les utilisateurs
Retour
ALLER
La première méthode consiste à utiliser l'objet RecordSet sans utiliser l'objet de commande,
set rs = server.createObject ("adodb.recordSet")
sql = "exec dt_users"
Rs.Open SQL, Conn, 1,1
La deuxième méthode consiste à utiliser l'objet de commande
set comm = server.createObject ("adodb.command")
Comm.Commantype = 4
Définir Comm.ActiveConnection = Conn
Comm.CommandText = "dbo.dt_users"
set rs = server.createObject ("adodb.recordSet")
Rs.Open Comm ,, 1,1
2. Passer les paramètres aux procédures stockées
S'il n'y a pas de paramètres dans la procédure stockée, mais une seule instruction SQL, les avantages d'appeler les procédures stockées ne peuvent pas être affichées!
Par exemple, une requête BBS peut être interrogée par l'auteur et le sujet! Ensuite, la procédure stockée peut être établie comme suit:
Le mot-clé du paramètre est le mot clé, et Choose est la méthode pour sélectionner la requête.
Créer une procédure [dbo]. [Dt_bbs]
@KeyWord Varchar (20) = null,
@choose int = null
comme
Si @ choisis = 1
Sélectionnez * dans BBS où le nom comme @Keyword
autre
Sélectionnez * dans BBS où un sujet comme @Keyword
Retour
aller
De cette façon, lorsque nous appelons les procédures stockées, nous avons juste besoin de passer les paramètres et d'omettre d'écrire un programme dans ASP
Utilisez la première méthode:
set rs = server.createObject ("adodb.recordSet")
SQL = "EXEC DT_BBS '" & Keyword & "', & Choose &" "
Rs.Open SQL, Conn, 1,1
Utilisez la deuxième méthode:
set comm = server.createObject ("adodb.command")
Comm.Commantype = 4
Comm.Parameters.APPEND COMM.CREATEPARAMETER ("@ Keyword", Adchar, adparaminput, 50, mot-clé)
Comm.Parameters.APPEND COMM.CREATEPARAMETER ("@ Keyword", AdInteger, AdParaminput ,, Choisissez)
Définir Comm.ActiveConnection = Conn
Comm.CommandText = "dbo.dt_bbs"
set rs = server.createObject ("adodb.recordSet")
Rs.cursortype = 3
Rs.Open Comm ,, 1,1
3. Discussion plus approfondie
Comparaison des deux méthodes que j'ai mentionnées ci-dessus pour appeler les procédures stockées dans ASP,
La première méthode nécessite moins d'objets, mais l'objet RecordSet prend en charge beaucoup moins de propriétés, telles que: Rs.RecordCount, Rs.PageCount, Rs.Absolutepage et d'autres propriétés.
Aucun d'entre eux ne le prend en charge, il y a donc des limites à l'utilisation de la première méthode. Par exemple, lorsque vous souhaitez afficher des enregistrements sur les pages, vous devez utiliser la deuxième méthode.
Le but de l'utilisation de procédures stockées dans SQL Server est d'accélérer, mais lorsqu'il existe de nombreuses instructions SQL dans une procédure stockée, ses avantages sont particulièrement évidents. S'il n'y a pas beaucoup de déclarations SQL,
Lorsque nous utilisons la deuxième méthode, nous devons créer un objet de commande supplémentaire, qui peut ralentir! Nous devons donc équilibrer les intérêts de tous les aspects pour utiliser les procédures stockées.
Cependant, je pense que la vitesse est si bonne. L'utilisation de procédures stockées peut rendre le programme plus modulaire, facile à modifier et à déboguer (vous pouvez déboguer directement dans SQL Server sans examiner les résultats d'ASP sous IE).
Ce qui précède est une introduction aux procédures stockées pour les appels ASP. J'espère qu'il vous sera utile d'apprendre ces connaissances. J'espère également que tout le monde continuera à soutenir la mauvaise chaîne de nouvelles technologies!