Apprendre à utiliser les procédures stockées est l'un des cours que les programmeurs ASP doivent apprendre. Toutes les grandes bases de données prennent en charge les procédures stockées. L'article d'aujourd'hui est une collection complète de l'utilisation des procédures stockées ASP partagées par l'éditeur de l'éditeur de la nouvelle technologie. Allons à l'article suivant pour en savoir plus!
1. Appelez les procédures stockées sans paramètres
<%
Définir Conn = Server.CreateObject ("Adodb.Connection")
Définir cmd = server.createObject ("adodb.command")
strConn = "dsn = pubs; uid = sa; pwd"
Conn.open StrConn
Définir CMD.ActiveConnection = Conn
cmd.commandText = "{appel nono}"
'Set rs = cmc.exe ou cmd.excute
SET RS = CMD.EXECUTE ()
%>
2. Une procédure stockée pour les paramètres d'entrée
<%
Définir Conn = Server.CreateObject ("Adodb.Connection")
Définir cmd = server.createObject ("adodb.command")
strConn = "dsn = pubs; uid = sa; pwd"
Conn.open StrConn
Définir CMD.ActiveConnection = Conn
cmd.commandText = "{Appelez OneInput (?)}"
CMD.Parameters.APPEND CMD.CreateParameter ("@ AAA", ADInteger, adparaminput)
cmd ("@ aaa") = 100
cmd.execute ()
%>
3. Un paramètre d'entrée et un paramètre de sortie
<%
Définir Conn = Server.CreateObject ("Adodb.Connection")
Définir cmd = server.createObject ("adodb.command")
strConn = "dsn = pubs; uid = sa; pwd"
Conn.open StrConn
Définir CMD.ActiveConnection = Conn
cmd.commandText = "{Appelez 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 paramètre d'entrée, un paramètre de sortie et une valeur de retour
<%
Définir Conn = Server.CreateObject ("Adodb.Connection")
Définir cmd = server.createObject ("adodb.command")
strConn = "dsn = pubs; uid = sa; pwd"
Conn.open StrConn
Définir CMD.ActiveConnection = Conn
cmd.commandText = "{? = Appelez Oneereturn (?,?)}"
cmd.parameters.append cmd.createParameter ("@ return_value", adinteger, 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")
%>
Comment appeler la procédure stockée SQL dans ASP
www.lucky365.net 2002-2-7 jixiang365
<% set connection1 = server.createObject ("adodb.connection")
connection1.open ... 'rejoindre
set command1 = server.createObject ("adodb.command")
Définir la commande1.activeConnection = Connection1
Command1.CommandType = 4
Command1.CommandText = "SP_1" 'SP Nom
Command1.Parameters (1) = ... 'Valeur des paramètres
Command1.Parameters (2) = ...
SET RecordSet1 = Command1.Execute ()
%>
Conseils pour les procédures stockées par appels ASP
1. Le plus simple est le suivant
Sombre objconn
Définir objConn = server.createObject ("Adobd.Connection")
OBJConn.Open Application ("Connection_String")
'Appelez la procédure stockée pour incrémenter un comptoir sur la page
objconn.excute "exec sp_addhit"
Pas de paramètres, pas de retour, pas de traitement d'erreur, c'est tout
2. Un appel avec des paramètres
objconn.execcute "exec sp_addhit 'http://www.aspalliance.com', 1"
Veuillez noter que les paramètres divisés ne sont pas retournés aux enregistrements.
3. Retour au dossier
Sombre objconn
Objrs sombres
Définir objConn = server.createObject ("Adobd.Connection")
Définir objrs = server.createObject ("adobd.recordSet")
OBJConn.Open Application ("Connection_String")
'Appelez la procédure stockée pour incrémenter un comptoir sur la page
Objrs.open ObjConn, "Exec SP_Listarticles '1/15/2001'"
'Loop via un ensemble de disques et afficher chaque article
4 ....
Sombre objconn
Faible objcmd
'Instancier les objets
Définir ObjConn = Server.CreateObject ("Adodb.Connection")
définir objcmd = server.createObject ("adodb.command")
Conn.open application ("ConnectionString")
Avec objcmd
.ActiveConnection = Conn 'Vous pouvez également spécifier une chaîne de connexion ici
.CommandText = "SP_INSERTARTARTICLE"
.CommandType = AdcmdStoredProc 'nécessite le fichier Adovbs.inc ou la balise Meta Typelib
'Ajouter des paramètres d'entrée
.Parameters.Apend .CreateParameter ("@ Columnist_ID", Addouble, AdParaminput ,, Columnist_ID)
.Parameters.Apend .CreateParameter ("@ URL", Advarchar, adparaminput, 255, URL)
.Parameters.Apend .CreateParameter ("@ Title", Advarchar, adparaminput, 99, URL)
.Parameters.Apend .CreateParameter ("@ Description", Adlongvarchar, _
Adparaminput, 2147483647, description)
'Ajouter des paramètres de sortie
.Parameters.Apend .CreateParameter ("@ link_id", ADInteger, AdParamoutput ,, 0)
'Exécuter la fonction
'Si vous ne renvoyez pas un ensemble de dossiers, utilisez l'option AdexEcuTenoreCords
.Exécute ,, adexecutenoreCords
link_id = .Parameters ("@ link_id")
Se terminer avec
5. Code de procédure stockée
Créer une procédure dbo.sp_insertarticle
(
@columnist_id int,
@url varchar (255),
@Title Varchar (99),
texte @description
@Link_id Int Sortie
)
COMME
COMMENCER
Insérer dans dbo.t_link (collumnist_id, URL, titre, description)
VALEURS (@ Columnist_ID, @ URL, @ Title, @ Description)
Sélectionnez @link_id = @@ identité
FIN
Plusieurs façons d'appeler les procédures stockées avec des paramètres
Récemment, de nombreux amis ont posé des questions sur l'appel des procédures stockées. Voici une brève introduction à plusieurs méthodes de procédures stockées ASP avec des paramètres.
1 Il s'agit également de la méthode la plus simple, avec deux paramètres d'entrée, pas de valeur de retour:
set connection = server.createObject ("adodb.connection")
connexion.open Somedsn
Connection.Exécute "Procname VarValue1, VarValue2"
'' Effacer tous les objets dans rien, libérer des ressources
connexion.close
Définir la connexion = rien
2 Si vous souhaitez retourner l'ensemble de coffre-enregistrement:
set connection = server.createObject ("adodb.connection")
connexion.open Somedsn
set rs = server.createObject ("adodb.recordSet")
Rs.Open "EXEC Procname Varvalue1, VarValue2", connexion
'' Effacer tous les objets dans rien, libérer des ressources
Rs.Close
connexion.close
Définir RS = rien
Définir la connexion = rien
3 Les deux méthodes ci-dessus ne peuvent pas avoir de valeur de retour (sauf RecordSet). Si vous souhaitez obtenir la valeur de retour, vous devez utiliser la méthode de commande.
Tout d'abord, il existe deux types de valeurs de retour. L'une consiste à renvoyer directement une valeur dans la procédure stockée, tout comme les fonctions des valeurs de retour C et VB; l'autre consiste à renvoyer plusieurs valeurs,
Les noms de variables qui stockent ces valeurs doivent être spécifiés d'abord dans le paramètre d'appel.
Cet exemple traitera de plusieurs paramètres, des paramètres d'entrée, des paramètres de sortie, des ensembles de disques de retour et une valeur de retour directe (est-ce assez?)
La procédure stockée est la suivante:
Utiliser des pubs
ALLER
- Créer des procédures stockées
Créer une procédure SP_PUBSTEST
- Définissez trois variables de paramètres, notez la troisième, la marque spéciale est utilisée pour la sortie
@au_lname varchar (20),
@intid int,
@intidout int
COMME
Sélectionnez @intidout = @intid + 1
SÉLECTIONNER *
Des auteurs
Où aU_lname comme @au_lname + ''% ''
- Récupérer une valeur directement
Retourner @intid + 2
Le programme ASP qui appelle la procédure stockée est le suivant:
<% @ Language = vbscript%>
<%
Cmdsp dim
Adors Dim
DIM ADCMDSPSTOREDPROC
Talent adparaMreturnvalue
Adparaminput faible
Adparamoutput DIM
Adoineur faible
Baisser
Ovale
Adofield sombre
Advarchar de DIM
'Ces valeurs sont des constantes prédéfinies dans VB et peuvent être appelées directement, mais pas prédéfinies dans VBScript
adcmdspstoredProc = 4
adparAmreturnValue = 4
adparaminput = 1
adparamoutput = 2
AdInteger = 3
Advarchar = 200
ival = 5
ovale = 3
'' Créer un objet de commande
Définir cmdsp = server.createObject ("adodb.command")
'' Créer un lien
Cmdsp.activeConnection = "Driver = {SQL Server}; server = (local); uid = sa; pwd =; database = pubs"
'' Définir le nom de l'appel de l'objet de commande
Cmdsp.commandText = "sp_pubstest"
'' Définir le type d'appel de commande comme une procédure stockée (ADCMDSPSTOREDPROC = 4)
CMDSP.CommandType = ADCMDSPSTORYPROC
'' Ajouter des paramètres à l'objet de commande
'' Définir la procédure stockée a une valeur de retour directe et est un entier, la valeur par défaut est 4
CMDSP.Parameters.APPEND CMDSP.CREATEPARAMETER ("RETOUR_VALUE", ADINTEGER, ADPARAMRETURNVALUE, 4)
'' Définir un paramètre d'entrée de caractères
Cmdsp.parameters.append cmdsp.createParameter ("@ aU_lname", advarchar, adparaminput, 20, "m")
'' Définir un paramètre d'entrée entier
Cmdsp.parameters.append cmdsp.createParameter ("@ intid", adointeger, adparaminput ,, ival)
'' Définir un paramètre de sortie entier
CMDSP.Parameters.APPEND CMDSP.CREATEPARAMETER ("@ INTIDOUT", ADINTEGER, ADPARAMOUTPUT, OVAL)
'' Exécutez la procédure stockée et obtenez l'ensemble d'enregistrements de retour
Définir Adors = CMDSP.Execute
'' Imprimez chaque enregistrement, les champs y sont virtuels, vous pouvez l'ignorer
Bien qu'il ne s'agisse pas d'ador
pour chaque Adofield dans Adors.
Réponse.write adofield.name & "=" & adofield.value & "
"& vbcrlf
Suivant
Réponse.WRITE "
"
Adors.MoVeNext
Se promener
'' Imprimez deux valeurs de sortie:
Réponse.WRITE "
@intidout = "& cmdsp.parameters (" @ intidout "). Value &"
"
Réponse.WRITE "
Return value = "& cmdsp.parameters (" return_value "). Value &"
"
'' Big nettoyage
Définir les adors = rien
Définir cmdsp.activeConnection = rien
Définir CMDSP = Rien
%>
Il y a d'autres façons, qui sont un peu absentes, et j'en parlerai plus tard
Cet article a fait référence à de nombreux articles et ne sera pas répertorié ici.
Utilisation de procédures stockées dans ASP
Afin d'améliorer l'efficacité des programmes ASP, il est parfois nécessaire d'utiliser la technologie de stockage à l'aide de SQL Server dans ASP. Voici une brève introduction.
Établissement de procédures stockées
Voici une brève introduction à la façon d'établir des procédures stockées dans l'entreprise Manager de SQL Server:
(1) Open Enterprise Manager
(2) Sélectionnez le groupe de serveurs (SQL Server Group), le serveur, la base de données (base de données) et la base de données correspondante, cliquez avec le bouton droit sur l'élément de procures stocké dans la base de données correspondante, sélectionnez la nouvelle procédure stockée dans le menu contextuel et entrez l'instruction pour créer une procédure stockée dans les propriétés des procédures stockées. Voici un exemple:
Créer la procédure ProTest @Mycola Char (10), @ MyColb Char (10), @ MyColc Text As
Insérer dans les valeurs de chatdata (mycola, mycolb, mycolc) (@ mycola, @ mycolb, @ mycolc)
Dans la documentation de SQL Server, sa syntaxe est:
Créer Proc [eDure] Procedure_name [; numéro] [
{@paramètre data_type} [variant] [= default] [sortie]]
[, ... n] [avec {recompile | Cryptage
| Recompiler, cryptage}] [pour la réplication] comme
sql_statement [... n]
Si vous n'êtes pas familier avec la syntaxe SQL, vous pouvez utiliser la syntaxe de vérification pour vérifier la syntaxe. Dans l'exemple ci-dessus, cela signifie que la procédure stockée est créée avec une procédure stockée nommée MyCola et 3 paramètres. Le premier type de données MyCola paramètre est le char et la largeur 10; Le deuxième type de données de paramètre est le char et la largeur 10, et le troisième type de données de paramètre est le texte. Voici le type de données de SQL Server.
Une fois la procédure stockée établie, ce qui suit est de savoir comment appeler la procédure stockée dans le programme ASP: afin d'améliorer l'efficacité du programme ASP, il est parfois nécessaire d'utiliser la technologie de stockage à l'aide de SQL Server dans ASP. Voici un moyen simple d'ajouter des paramètres dans la déclaration ci-dessus P.Apend CM.CreateParameter ("@ myColc", 201, 1, 250), le format est:
P.APPEND CM.CreateParameter ("Nom du paramètre", type, direction, taille)
La signification du type de la valeur du paramètre est la suivante:
Nom Valeur Fonction de valeur entière
AddBtimestamp 135 Type de données de date et d'heure
Addecimal 14 Valeur en entier décimale
Addouble 5 Valeur décimale à double précision
Message d'erreur du système Adeurror 10
ADGUID 72 Identifiant unique mondialement unique
Addispath 9 COM / OLE Objet automatique (objet d'automatisation)
AdInteger 3 entier signé de 4 octets
Adiunknown 13 com / ole objet
Adlongvarbinary 205 grande valeur de 2 octets
Adlongvarchar 201 grande valeur de chaîne
Adlongvarwchar 203 Grande chaîne non codée
Valeur en entier décimale adnunérique 131
Adsingle 4 décimal à point flottant à une seule précision
Adsmallint 2 entier signé de 2 octets
adtinin 16 1 octet signé entier
AdunsignedBigint 21 entier non signé de 8 octets
AdunsignedInt 19 entier non signé de 4 octets
AdunsignedSmallint 18 entier non signé de 2 octets
adunsignedtinyint 17 1 octet entier non signé
Type de données défini par l'utilisateur
Advariant 12 ole objet
Advarbinary 204 Valeur variable de caractères à double octet
Advarchar 200 caractéristiques de la variable de caractères
Advarchar 202 Valeur variable de chaîne non codée
Adwchar 130 String non codé
La signification des valeurs de direction est la suivante:
Nom Valeur Fonction de valeur entière
Adparaminput 1 Autoriser la saisie des données dans ce paramètre
AdParamoutput 2 permet de sortir les données de ce paramètre
AdParaminputOutput 3 permet une entrée et une sortie de données à ce paramètre
AdParAmreturnValue 4 permet de retourner les données d'un sous-programme à ce paramètre
Ce qui précède est une collection complète de l'utilisation des procédures stockées ASP collectées par l'éditeur de la mauvaise chaîne de nouvelles technologies. J'espère que cela sera d'une aide à votre apprentissage!