Recommandé: mise en œuvre de la saisie des données ASP Batch L'entrée par lots est largement utilisée dans les bases de données, et il existe de nombreuses méthodes pour l'entrée par lots. Ensuite, je vais parler de la façon dont je l'ai réalisé en fonction de ma demande réelle. L'utilisation principale est le concept de collecte de formulaires, qui prend toutes les données de la collection via Loop. Étant donné qu'il est pratique pour tout le monde de le voir, je l'ai intégré à une seule page. Vous trouverez ci-dessous le code spécifique
Plusieurs façons d'appeler les procédures stockées 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.execute 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 suffisant?)
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éfinissez le nom de l'appel de l'objet de commande
Cmdsp.commandText = sp_pubstest
«Définir le type d'appel de commande en tant que 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, ADInteger, 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 dans lesquels 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 & <br> & vbcrlf
Suivant
Réponse.WRITE <br>
Adors.MoVeNext
Se promener
'Imprimez deux valeurs de sortie:
Réponse.write <p> @intidout = & cmdsp.parameters (@intidout) .value & </p>
Réponse.write <p> return value = & cmdsp.parameters (return_value) .value & </p>
'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.
Partage: plusieurs soumissions répétées de formes restreintes dans ASP Sur Internet, nous rencontrons d'innombrables formulaires chaque jour, et nous constatons également que la plupart d'entre eux ne empêchent pas les utilisateurs de soumettre le même formulaire plusieurs fois. L'absence de telles restrictions peut parfois produire des résultats inattendus, tels que l'abonnement en double aux services de courrier électronique ou le vote en double. Cet article présente une méthode simple dans les applications ASP pour empêcher les utilisateurs de soumettre le même formulaire plusieurs fois au cours de la session en cours