ASP est un outil puissant pour générer des pages Web interactives dynamiques. Vous trouverez ci-dessous un tutoriel sur l'utilisation du stockage ASP que l'éditeur a partagé avec vous. Amis intéressés, apprenons-le avec l'éditeur!
1. Passez des paramètres à l'aide d'objets de commande et d'objets de paramètres. Cette conférence utilisera principalement la base de données Microsoft SQL Server 7.0. Tout d'abord, créez un fichier de connexion adosql7.asp pour la sauvegarde. Je ne le spécifierai pas lorsqu'il sera utilisé plus tard.
% '' Adosql7.asp
Option Explicit
Response.expires = 0
'' Partie 1: établir une connexion
Dimcnn, strcnn
Setcnn = server.createObject ("adodb.connection")
Strcnn = "provider = sqloledb; userId = sa; mot de passe =; initialCatalog = pubs; dataSource = icbczjp"
Cnn.openstrcnn
%>
Remarque: Lorsque vous l'utilisez vous-même, définissez DataSource sur le nom de la machine de votre serveur de base de données.
De plus, lors de l'utilisation de bases de données d'accès dans le passé, Microsoft Access97 peut facilement afficher les champs et les données. Lorsque vous utilisez des bases de données SQLServer, en particulier lors de la débogage des scripts ASP sur une autre machine, vous devez installer des outils supplémentaires pour afficher les champs et les données. Ici, nous vous fournissons un outil: msqry32.exe (Microsoftquery). Ce fichier est installé avec Office97 et est généralement situé dans le répertoire "Microsoft Office / Office".
Exemple wuf70.asp:
% @ Lingots = "vbscript"%>
! - # includeFile = "adosql7.asp" ->
! - # includeFile = "Adovbs.inc" ->
% '' wuf70.asp
Dimcmdtest, prmtest, RSTest
'' Créer un objet de commande
SetcmdTest = server.createObject ("adodb.command")
«Les objets RecordSet et Command peuvent être connectés aux objets de connexion via la propriété ActiveConnection.
CMDTEST.ACTIVECONNECTION = CNN
'' SQL Commande - contient deux paramètres, l'expriment avec?
cmdTest.CommandText = "UpdateJobSsetJob_descs =? WhereJob_id =?"
'' Supposons que le type de commande soit une instruction SQL
cmdTest.CommandType = AdcmDText
'' La propriété préparée détermine s'il faut compiler la commande SQL en premier, définissez-le sur true pour accélérer l'exécution
cmdTest.Prepared = true
'' Créer un objet de paramètre
SetPrmTest = cmdTest.CreateParameter ("JOB_DESC", Advarchar, adparaminput, 50, "réseau")
'' Ajouter des données à la collecte de données paramètres
cmdTest.Parameters.ApendPrmtest
SetPrmTest = cmdTest.CreateParameter ("Job_id", adsmallint, adparaminput ,, "12")
cmdTest.Parameters.ApendPrmtest
'' Exécuter la modification - pas besoin de renvoyer le résultat, utilisez simplement cmdTest.exécute
cmdtest.execute
'' Réinitialiser les paramètres à exécuter - vous pouvez modifier un autre morceau de données
cmdTest.Parameters ("job_id") = "1"
cmdTest.Parameters ("job_desc") = "test"
cmdtest.execute
'' Réinitialiser les paramètres pour exécuter
cmdTest ("job_id") = "14"
cmdTest ("job_desc") = "financier"
cmdtest.execute
SetRSTest = cnn.Execute ("selectJob_id, job_descfromjobs")
Tandis que
Response.WriteStest (0) & RSTEST (1) & ""
RSTEST.MOVENEXT
Se promener
Cnn.close: setprmtest = rien
SetcmdTest = rien: setcnn = rien
%>
analyser:
1. La méthode CreateParameter de l'objet de commande est utilisée pour créer des objets de paramètre pour les commandes SQL ou les procédures stockées. Il y a cinq paramètres au total (les cinq paramètres sont facultatifs):
Le premier paramètre: le nom de l'objet de paramètre;
Le deuxième paramètre: il existe trop de types de types de données d'objets de paramètre. Veuillez vous référer à l'aide ADO, ici Advarchar (Valeur de chaîne), ADSMallint (entier signé à 2 octets);
Le troisième paramètre: type de paramètre. Il peut être: adparaminput (indique les paramètres d'entrée), adparamoutput (indique comme paramètres de sortie), AdParAmreturnValue (indique la valeur de retour), adparamunknown (indique que le type de paramètre ne peut pas être déterminé), adparaminputOutput (indique les paramètres d'entrée / de sortie);
Le quatrième paramètre: la longueur de données du paramètre est de préférence spécifiée pour être égale à la longueur de champ correspondante dans la base de données pour éviter les erreurs pendant l'utilisation. Surtout lorsque le type de données est varchar, s'il s'agit d'un entier ou d'un type de date, la valeur n'est pas nécessaire;
Le cinquième paramètre: la valeur initiale du paramètre.
2.CmdTest.Parameters.Apend Method Ajoute un objet de paramètre à la collecte de données Paramètres. À partir de cet exemple, vous pouvez également voir comment utiliser plusieurs paramètres.
3. À partir de cet exemple, nous pouvons voir que vous n'avez besoin que de réinitialiser les paramètres d'entrée pour effectuer des modifications vers d'autres données, ce qui est très pratique. Cette idée est également l'une des méthodes les plus couramment utilisées lors de la programmation.
4. Réinitialisez les paramètres, vous pouvez soit utiliser cmdTest.Parameters ou l'omettre sur cmdTest ("job_id").
2. Utilisez des procédures stockées dans ASP
Qu'est-ce qu'une procédure stockée (une procédure stockée est située dans le serveur de base de données et une collection d'instructions SQL qui peuvent contenir une ou plusieurs instructions SQL), et comment créer des procédures stockées n'appartiennent pas au contenu de cette conférence. Cette conférence illustre principalement comment appeler les procédures stockées dans ASP.
Les avantages de l'utilisation des procédures stockés sont excellents, qui sont plus efficaces que l'exécution de commandes SQL dans les scripts ASP; Ils peuvent améliorer les performances globales et réduire la charge du réseau (réduire l'interaction entre les serveurs de réseau et les serveurs de données); Ils peuvent optimiser le code ASP et améliorer la flexibilité du code, etc.
(I) Utiliser les paramètres d'entrée dans les procédures stockées
La procédure stockée utilisée dans cet exemple est "Byroyty" qui est livrée avec SQLServer 7.0. Une instruction SQL à l'intérieur est très simple. Ce n'est rien de plus qu'une création de création supplémentaire, et un paramètre d'entrée est @Percentage:
CreateProcedureByroyty @ pourcentageint
COMME
selectau_idfromtitleauther
whitetitleauthor.roylytypeper=@percentage
Servebywww.cidu.net
Exemple wuf71.asp
% @ Language = vbscript%>
! - # includeFile = "adosql7.asp" ->
! - # includeFile = "Adovbs.inc" ->
% '' wuf71.asp
Dimcmdtest, prmtest, RSTest
SetcmdTest = server.createObject ("adodb.command")
cmdTest.CommandText = "Byroyty" '' Nom de la procédure stockée
'' Supposons que le type de commande soit une procédure stockée
cmdTest.CommandType = ADCMDStoredProc
'' Créer un objet de paramètre
SetPrmtest = server.createObject ("adodb.paramètre")
'L'attribut de type correspond au deuxième paramètre dans wuf70.asp
prmtest.type = ADInteger'''4-byte signé entier
'La propriété de direction correspond au troisième paramètre de WUF70.asp
prmtest.direction = adparaminput
'L'attribut de valeur correspond au cinquième paramètre de WUF70.asp
prmtest.value = 30
cmdTest.Parameters.ApendPrmtest
SetCmdTest.ActiveConnection = CNN
'Vous devez renvoyer un ensemble d'enregistrements, alors utilisez setrsstest = cmdTest.exECUTE
SetRstest = cmdTest.Execute
Tandis que
Réponse.writerstest (0) & ""
RSTEST.MOVENEXT
Se promener
Cnn.close
SetRSTest = rien: setprmtest = rien
SetcmdTest = rien: setcnn = rien
%>
La propriété CommandText peut spécifier les commandes SQL, soit comme des procédures stockées ou des noms de table.
Dans cet exemple, la création d'un objet de paramètre est légèrement différente de WUF70.asp. En fait, si vous regardez de près, le sens est similaire. Il y a deux propriétés dans cet exemple qui ne sont pas utilisées: prmtest.name, prmtest.size, plus type, direction et valeur, qui correspondent aux cinq paramètres dans wuf70.asp.
(Ii) Utiliser les paramètres de sortie
Lors de l'obtention d'un enregistrement à partir d'une table de base de données ou du calcul d'une valeur, une procédure stockée qui renvoie les paramètres de sortie doit être utilisée. Pour donner un exemple, créez d'abord une nouvelle procédure stockée OutEmploy dans la bibliothèque SQLServer Pubs. La procédure stockée doit saisir deux dates puis produire une valeur maximale.
CreateProcedUreoutEmploy
(
@Job_lvltinyIntOutput,
@ Hire_Date1DateTime,
@ Hire_Date2Datetime
)
COMME
SELECT @ JOB_LVL = MAX (JOB_LVL) FROMIMPLOYEEE
WHEREHIRE_DATE> = @ HIRE_DATE1ANDHIRE_DATE = @ HIRE_DATE2
Il existe plusieurs façons de créer des procédures stockées:
1. Utilisez EnterpriseManager de Microsoft SqlServer, ouvrez-le dans le répertoire des arbres à gauche et ouvrez-le à son tour: ConsoLoOtoTo-MicrosofTSQLServers - SqlServerGroup - ICBCZJP (Windowsnt) –Databases - Pubs - StoredProcedure - NEWSSTORYPROCEDURE. Après être entré dans la procédure stockée, il peut également être détecté syntaxe;
2. Utilisez Queryanalyzer de Microsoft SqlServer, connectez d'abord au serveur de base de données et sélectionnez la base de données Pubs. Entrez la procédure stockée ci-dessus et cliquez sur EXECUTEQUERY (ou appuyez sur F5);
3. À l'aide de VB6.0, après avoir ouvert le menu "Afficher" / "Fenêtre de vue de données", cliquez avec le bouton droit "Lien de données" / "New Data Link";
4. Utilisez le script ASP pour créer des procédures stockées, telles que WUF75.asp:
% @ Language = vbscript%>
! - # includeFile = "adosql7.asp" ->
! - # includeFile = "Adovbs.inc" ->
% '' wuf75.asp
DimStrsql
'' Remarque: & Chr (10) & Chr (13) peuvent être ignorés, principalement pour la beauté
StrSql = "CreateProCeDureUeTemploy (@Job_lvltinyIntOutput, & chr (10) & chr (13) & _
"@ Hire_Date1Datetime, @ Hire_Date2DateTime) As" & Chr (10) & Chr (13) & _
"SELECT @ JOB_LVL = MAX (JOB_LVL) FROMIMPLOYEEE" & _
"WHEREHIRE_DATE> = @ HIRE_DATE1ANDHIRE_DATE = @ HIRE_DATE2"
Cnn.execurestrsql
Response.Write "Créer une procédure stockée avec succès"
Cnn.close: setcnn = rien
%>
Une fois la procédure stockée créée, en plus d'utiliser le menu, vous pouvez également le supprimer à l'aide de l'instruction SQL "DropProcedureOutEmploy".
Exemple WUF72.asp - Envoyez les paramètres d'entrée requis dans la procédure stockée et obtenez le résultat de sortie.
% @ Language = vbscript%>
! - # includeFile = "adosql7.asp" ->
! - # includeFile = "Adovbs.inc" ->
% '' wuf72.asp
Dimcmdtest, prmtest
SetcmdTest = server.createObject ("adodb.command")
CMDTEST.ACTIVECONNECTION = CNN
cmdTest.CommandText = "OutEmploy" '' Nom de la procédure stockée
cmdTest.CommandType = ADCMDStoredProc
'' Créer un objet de paramètre
SetPrmTest = cmdTest.CreateParameter ("Job_lvl", Adtinyint, AdParamoutput)
cmdTest.Parameters.ApendPrmtest
'' Adtinyint-1 Byte Signé entier
'' AddBdate-Date Valent (Yyyymmdd)
SetPrmTest = cmdTest.CreateParameter ("HIREDATE1", addbdate, adparaminput ,, "1993-05-09")
cmdTest.Parameters.ApendPrmtest
SetPrmTest = cmdTest.CreateParameter ("HIREDATE2", addbdate, adparaminput ,, "1994-02-01")
cmdTest.Parameters.ApendPrmtest
cmdtest.execute
'Les trois expressions suivantes signifient la même chose
Réponse.writecmdtest ("job_lvl") & ""
Réponse.writecmdtest.parameters ("job_lvl") & ""
Réponse.writecmdtest.Parameters ("job_lvl"). Valeur
Cnn.close
Setprmtest = rien
SetcmdTest = rien: setcnn = rien
%>
(Iii) Utiliser les paramètres de code de retour
Utilisez l'instruction de retour pour renvoyer différents codes de retour des procédures stockées. Par exemple, la procédure stockée obtient d'abord un ensemble d'enregistrements, puis, s'il y a un employé nommé Margaret, il renverra 1, sinon il reviendra 0.
CreateProcedureReTUrTlasch
COMME
selectEmp_id, fnamefrommloyee
Ifexists (selectFNameFroMlAyeEewhereFname = '' Margaret '')
Retour (1)
Autre
Retour (0)
Exemple WUF73.asp
% @ Language = vbscript%>
! - # includeFile = "adosql7.asp" ->
! - # includeFile = "Adovbs.inc" ->
% '' wuf73.asp
Dimcmdtest, prmtest, RSTest
SetcmdTest = server.createObject ("adodb.command")
CMDTEST.ACTIVECONNECTION = CNN
cmdTest.CommandText = "returnAmmloy" '' Nom de la procédure stockée
cmdTest.CommandType = ADCMDStoredProc
SetPrmTest = cmdTest.CreateParameter ("returnValue", AdInteger, AdParAmreTurnValue)
cmdTest.Parameters.ApendPrmtest
SetRSTest = cmdTest.ExECUTE ()
Tandis que
Response.WriteStest (0) & "] [" & rsstest (1) & ""
RSTEST.MOVENEXT
Se promener
rstest.close: setrstest = rien
'' Avant de retourner cmdTest ("returnValue"), le plus doit être fermé en premier, sinon le résultat sera incorrect
IfcmdTest ("returnValue") = 1Then
Response.Write "a cet employé"
Autre
Réponse.WRITE "Aucun employé"
Endire
Cnn.close
Setprmtest = rien
SetcmdTest = rien: setcnn = rien
%>
3. Comment gérer les mégadonnées
Le "Big Data" fait ici principalement référence au texte (grand texte) et aux champs d'image (image). Les données ne peuvent pas être correctement obtenues en utilisant les méthodes décrites ci-dessus. Vous devez d'abord utiliser la taille = rstest (0) .actualSize pour obtenir la longueur réelle de la valeur du champ, puis utiliser rstest (0) .getChunk (taille) pour obtenir les données. Dans une utilisation réelle, comme ces champs sont relativement importants, afin d'économiser et d'utiliser les ressources du serveur raisonnablement, la lecture segmentée est généralement adoptée. Exemple WUF74.asp:
% @ Language = vbscript%>
! - # includeFile = "adosql7.asp" ->
! - # includeFile = "Adovbs.inc" ->
% '' wuf74.asp
Dimstrsql, RSTEST
'PR_info est un champ de texte
StrSql = "selectpr_info, pub_idfropub_info"
SetRstest = cnn.execute (strSql)
DimbasicSize, commence, lext
Dowhilenotrstest.eof
Response.WriteStest (1) & ""
'1024 octets par lecture
Bassize = 1024
Commencer = 0
While BeginSizerstest (0) .ActualSize
Ltext = rstest (0) .getChunk (Bassize)
Commencer = commencer + base de base
'Segment de sortie par segment au client
Réponse.WritelText
Se promener
Réponse.write ""
RSTEST.MOVENEXT
Boucle
Cnn.close
SetRSTest = rien: setcnn = rien
%>
Dans cet exemple, un maximum de 1024 octets est lu à chaque fois et les lire plusieurs fois. Au contraire, si vous écrivez les mégadonnées dans la base de données, la méthode est similaire à ce qui précède, mais au lieu d'utiliser la méthode Getchunk, vous utilisez la méthode de l'annexe:
RSTEST (0) .APPENDCHUNKLTEXT
Remarque: Enfin, je vais présenter un petit conseil sur la base de données SQLServer. Si vous avez rencontré cette situation: les données chinoises de la base de données s'affichent en code brouillé, veuillez ne pas paniquer. Il vous suffit d'aller sur mon site pour télécharger SQLSRV32.dll écraser le fichier avec le même nom sous "C: / Windows / System". La source du problème est le pilote SQLServer, qui se produit généralement dans la version 2 de Windows 98 (le numéro de version du pilote SQLServer est de 3,70.06.23) ou Windows 2000 ou MDAC2.5 est installé (le numéro de version est 3.70.08.20).
Ce qui précède est un tutoriel sur l'utilisation du stockage ASP. Je crois que vous avez tout appris. Pour un contenu plus connexe, veuillez continuer à suivre la chaîne technologique Wonew.