Table des matières

Active Server Pages

Le nécessaire

  1. Langage de script
  2. Framework ASP
  3. Serveur Web (IIS)

Dans les pages

Une page ASP commence avec la ligne :

<%@ LANGUAGE="VBScript" %>

Pour insérer du code ASP, on le met entre <% et %>.

Objets

  1. Response
  2. Request
    • Form
    • QueryString
  3. Sssion
  4. Application
  5. Server
  6. ObjectContext
  7. ASPError

Response

On peut envoyer du texte au client en utilisant l'objet Response et en utilisant sa méthode Write. ­

Response.Write("Bonjour!");

Gestion des bases de données

Création d'un objet connexion

Si, par exemple, on veut créer une connexion à une base de données Access, il faut au préalable ajouter une source de données ODBC dans les Outils d'administration de Windows.

  1. Aller dans Sources de données (ODBC)
  2. Choisir l'onglet Sources de données fichier et cliquer Ajouter
  3. Choisir le pilote approprié. Dans notre cas Microsoft Access Driver. Attention à la version s'il y en a plusieurs.
  4. Cliquer Suivant
  5. Entrer le nom de la source. Exemple films, employes, etc.
  6. Cliquer Suivant puis Terminer
  7. Dans la fenêtre qui apparaît Installation ODBC pour Microsoft Access et dans le cadre Base de données, cliquer Sélectionner….
  8. Choisir le fichier approprié qui contient la base de données (*.mdb ou *.accdb).
  9. Cliquer OK deux fois.

Dans le fichier ASP :

Set DBConn = Server.CreateObject("ADODB.Connection")

Ouverture de la connexion

L'ouverture de la connexion se fait avec Open. Il utilise le nom de la source qui a été déterminé à l'étape précédente, dans ce cas : films.

DBConn.Open "FILEDSN=films"

Création d'un groupe de données

Set InsRecordSet = Server.CreateObject("ADODB.RecordSet")

Écrire et exécuter la requête

Dim SQLStr
SQLStr = "SELECT flm_id, flm_titre, flm_duree FROM films"
InsRecordSet.open SQLStr, DBConn

Récupération des données

Les données doivent par la suite être associées à des variables.

Set id=InsRecordSet("flm_id")
Set titre=InsRecordSet("flm_titre")
Set duree=InsRecordSet("flm_duree")

Parcours de résultats et affichage

Do until InsRecordSet.EOF
  Response.Write "<tr>" & _
                 "  <td>" & id & "</td>" & _
                 "  <td>" & titre & "</td>" & _
                 "  <td>" & duree & "</td>" & _
                 "</tr>"
  InsRecordSet.MoveNext
Loop
InsRecordSet.Close

Fermer la connexion

DBConn.Close

Façon plus directe

Une autre façon1) plus directe d'accéder à une base de donnée Access :

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DB.mdb")
Set rsUsers = Server.CreateObject("ADODB.Recordset")
rsUsers.Open "SELECT * FROM Users", oConn

Parcourir un resultset

Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = Connection_STRING
rs.Source = "SELECT * FROM Table WHERE Column = " + Replace(ID, "'", "''")
rs.CursorType = adOpenForwardOnly
rs.CursorLocation = adUseServer
rs.LockType = adLockReadOnly
rs.Open()
 
do while not rs.eof
    for each field in rs.fields
        response.write(field.name)
        response.write(" = ")
        response.write(field.value & "<br/>")
    next
    rs.movenext
loop

Code snippets

Strip HTML tags

Function stripHTML(strHTML)
'Strips the HTML tags from strHTML
 
  Dim objRegExp, strOutput
  Set objRegExp = New Regexp
 
  objRegExp.IgnoreCase = True
  objRegExp.Global = True
  objRegExp.Pattern = "<(.|\n)+?>"
 
  'Replace all HTML tag matches with the empty string
  strOutput = objRegExp.Replace(strHTML, "")
 
  'Replace all < and > with &lt; and &gt;
  strOutput = Replace(strOutput, "<", "&lt;")
  strOutput = Replace(strOutput, ">", "&gt;")
 
  stripHTML = strOutput    'Return the value of strOutput
 
  Set objRegExp = Nothing
End Function

Source : http://www.4guysfromrolla.com/webtech/042501-1.shtml

Ressources