Description

L'ASP est une collection d'objets pouvant être exploités avec divers langage (vbscript, javascript, ...).
Cette collection d'objets a été conçue par Micro$oft Corp. pour ses serveurs IIS.

Appel d'un script exécuté par le serveur.

<script language="VbScript" runat="server">
<!-- 

' -->
</script>

ou la syntaxe courte:
<% [script ASP]  %>
  

Inclure un fichier dans une page web.

<!--#INCLUDE FILE="nomdufichier.ext"-->

Normes

Le code et les fonctions d'ASP sont généralement placé dans l'entête de la page (à l'intérieur des balises <head> ... </head>).

Les langages

Puisque l'ASP supporte plusieurs langages, on peut spécifier le langage utilisé par défaut.

<%@ language=VbScript %>

Fichiers global.asa

Emplacement: à la source de l'application

Doit avoir la balise <script language="VBScript" runat="Server"> ... </script> ou <server> ... </server>

Méthodes [évènements]

  • Session_OnStart : ouverture d'une session
  • Session_OnEnd : fermeture d'une session
  • Application_OnStart : ouverture de l'application
  • Application_OnEnd : fermeture de l'application

Les objets

Les Objets:
Request [entrée]
Méthodes
  • Cookies(nomCookie As String)(nomÉlément As String)
    Paramètre:
    nomCookie : retourne la valeur du cookie s'il y a un seul élément...
    sinon il faut spécifier le nom de l'élément après en parathèse.
    Attributs:
    Expires : date d'expiration du cookie
    Expire dans trente jours: Response.Cookies("nomCookie").Expires = Now() + 30
  • Form(Variable As String)
    Paramètre:
    Variable : nom d'un élément d'un formulaire passé par la méthode "post" : <form method="post">
  • QueryString(Variable As String)
    Paramètre:
    Variables : nom d'un élément d'un formulaire passé par la méthode "get" : <form method="get">
    ou envoyés en paramètre dans l'URL : page.asp?var1=valeur1&amp;var2=valeur2
  • ServerVariables(Variables As String)
    Paramètre:
    Variables :
Attributs
  • Les attributs de la méthode POST
    Accès:
    Request("nomAttribut")

    Retourne "" si l'attribut n'est pas défini.

Response [sortie]
Méthodes
  • Redirect(strFichier)
    Paramètre:
    strFichier : Fichier qui sera la nouvelle page pour la redirection.
  • Write(Chaine As String)
    Paramètre:
    Chaine : Chaîne de caractères écrites dans la page web en cours.

    N.B.: On peut aussi écrire: <%= nomVariable %> pour écrire la valeur d'une variable dans la page.

Attributs
Expires
"-1" : Jamais??
Session
Attributs
  • Les attributs d'une session de l'utilisateur
    Accès:
    Session("nomAttribut") : Retourne "" si l'attribut n'est pas défini.
Server
Méthodes
  • CreateObject(nomObjetActiveX)
    Paramètre:
    nomObjetActiveX :
    Retour:
    Objet (donc affectation avec Set en VbScript)
  • MapPath(strNomFichier)
    Retour:
    retourne une chaine avec le chemin complet d'un fichier
    Permet de retrouver le chemin réel correspondant au répertoire virtuel.
ADODB.Connection
Connexion:
    Set nomConn = Server.CreateObject("ADODB.Connection")

    nomConn.Open "strOuverture"
    ' strOuverture="Driver={Microsoft Access Driver (*.mdb)};BDQ=chemin_base_de_donnees.mdb"
    ' strOuverture="Driver={Microsoft Access Driver (*.mdb)};BDQ=chemin_base_de_donnees.mdb;DriverId=25"
    ' strOuverture="PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & """" & Server.MapPath("CDS.mdb") & """"
    ...
    nomConn.Close
    nomConn = nothing
    
Requête (recordset)
    Set RS = nomConn.Execute(strRequeteSQL); ' requete SQL sans point-virgule!
    
    RS.Open "strRequeteSQL", ADODB.Connection
    RS("nomChamp")                         ' valeur d'un champ
    RS.Fields.count                        ' nombre de champs
    RS.Fields(0 to RS.Fields.count-1).name ' nom des champs
    RS.EOF         ' vrai si c'est la fin de la requête (end-of-file) 

    RS.MoveNext    ' passe au prochain enregistrement
    
    RS = nothing           
  
Scripting.FileSystemObject
FileSystemObject:
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

File:
    File.Name


Folder:
    Set objFolder = FileSystemObject.getFolder( chemin réel ) 
                    ' chemin réel: voir server.mappath()

    Folder.Name       : nom du répertoire
    Folder.SubFolders : liste d'items des sous-répertoires (eux-mêmes des répertoires)
    Folder.Files      : liste des fichiers (objet File)




TextFile:
    Set objTStream = objFSO.OpenTextFile(strTextFile) ' nom du fichier à ouvrir
    ContenuFichier = objTStream.ReadAll 'lit le fichier en entier et retourne une string

	Set objTStream = objFSO.CreateTextFile(strTextFile, True) ' créer un fichier texte
	objTStream.WriteLine(chaine)        'écrit une ligne dans un fichier (.CreateTextFile, True)
    
    objTStream.Close ' ferme le fichier
  
MSWC.BrowserType
Set Browser = Server.CreateObject("MSWC.BrowserType") 
Browser:
    Browser.majorver

    Exemple:
        If CInt(Browser.majorver) < 4 Then
            ' ce n'est pas Internet Explorer 4 ou + ...
        End If
  

Exemple complet de connexion

2005/03/13 23:39

Voici un exemple réel de connexion à une base de données MSAccess (anciennement sur le serveur de brinkster).

Il s'agit d'un exemple tiré d'un projet de cégep fait par deux de mes collègues et moi.

Remarquer, que la connexion utilise un fichier qui contient les droits d'accès, le fichier .mdw. Il n'est pas nécessaire. Si on n'utilise pas le paramètre Jet OLEDB:System database="MSAccessMotDePasse.mdw", il faut seulement spécifier le mot de passe avec Password.

' Constantes globales de connexion
Dim strDB_Path  : strDB_Path = """" & Server.MapPath("BaseDeDonneMSAccess.mdb") & """"
Dim strMDW_Path : strMDW_Path = """" & Server.MapPath("MSAccessMotDePasse.mdw") & """"
Dim strConOpen  : 
strConOpen = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Étudiant;Data Source=" & strDB_Path
strConOpen = strConOpen & ";Persist Security Info=True;Jet OLEDB:System database=" & strMDW_Path & ";"

Dim cnc
Set cnc = Server.CreateObject("ADODB.Connection")
cnc.Open strConOpen
If (cnc.State <> 0) Then
  ' Connexion OK, mettez les instructions ici

  cnc.Close
End If
Set cnc = Nothing

Chronométré du code...

2004/06/09 11:56

Voir la fonction timer.

Hyperliens

Vos commentaires

  • fatiha > je veux le code de la connection asp avec access et SQL et merci (2005-03-13 13:15:37)
Ajouter votre commentaire