Vous êtes sur la page 1sur 52

1

Rappel
Caractristiques dun fichier ASP
Son extension : *.asp La balise: <% %> Son indpendance vis vis de toute plateforme, de tout langage de script et de tout navigateur.

DESS IIDEE

B. BAH

oct.-2000

Rappel
Fonctionnement de lASP
Un script ASP sexcute lorsquun navigateur appelle une page ayant cette extension sur le serveur web. Le serveur lance alors le module ASP et lui transmet le fichier. Le module parcourt le fichier la recherche de la balise <% %>. Au cours de cette action, ds que le module ASP rencontre un script encadr par la balise < % %>, il lexcute et renvoie ensuite au serveur du code HTML que celui-ci transmet, son tour, au navigateur.

DESS IIDEE

B. BAH

oct.-2000

DESS IIDEE

B. BAH

oct.-2000

Rappel
Le Modle objets dASP Lobjet Application : reprsente le site web cest dire lensemble des fichiers se trouvant dans le rpertoire virtuel ou dans ses sous-rpertoires. Lobjet Session : reprsente un utilisateur donn. Il permet de conserver des informations relatives au visiteur dune page lautre tout au long de sa connexion. Il y a donc une session par visiteur.

DESS IIDEE

B. BAH

oct.-2000

Rappel
Le Modle objets dASP
Lobjet Request : permet de rcuprer les donnes issues dun formulaire utilisant soit la mthode POST ou GET. Il permet galement dobtenir des informations sur le serveur, sur le navigateur client et de rcuprer les cookies stocks sur la machine du visiteur. Lobjet Response : Contient la rponse HTTP, cest dire lensemble des informations destination du navigateur client; comme par exemple lcriture dun cookie sur le disque dur du visiteur ou laffichage dune phrase lattention de celui-ci.
DESS IIDEE B. BAH oct.-2000

Rappel
Le Modle objets dASP Lobjet Server : reprsente le serveur et permet dinstancier et dutiliser des composants COM(standards ou personnaliss) dans une page ASP. Lobjet ASPError : Il prend en charge la gestion des erreur en renvoyant le maximum de renseignements sur les exceptions. Cest une nouveaut dASP 3.0.
DESS IIDEE B. BAH oct.-2000

Rappel
Linterface dun objet ASP

Objet ASP
- Collections - Proprits - Mthodes

DESS IIDEE

B. BAH

oct.-2000

Rappel
Linterface dun objet ASP
Les collections : Servent stocker des informations en provenance ou destination du client. Cest une sorte de tableau deux colonne: la premire stockant le nom dun contrle par exemple et la seconde sa valeur. Les proprits : permettent dobtenir ou de stocker des valeurs spcifiques. Lobjet mthodes : ce sont les procdures et fonctions qui permettent daccomplir des actions spcifiques.

DESS IIDEE

B. BAH

oct.-2000

Lobjet Request
Les collections de lobjet Request
La collection Form rcupre les donnes issues d'un formulaire utilisant la mthode POST. Cette collection Contient donc les noms et valeurs des contrles (zones de saisie, listes de choix, boutons etc.) situs l'intrieur des balises <Form> et </Form> d'un formulaire. Syntaxes : <% StrNom=Request.Form("NOM") %>
<% = Request.Form("NOM") %>

DESS IIDEE

B. BAH

oct.-2000

10

Lobjet Request
Les collections de lobjet Request
La collection QueryString, elle, rcupre les donnes issues soit d'un formulaire utilisant la mthode GET ou dune chane de requte de type : http://bbah/site/forums/ShowMessage.asp?IDMsg=40&IDGrp=3&IDMbre=3

Syntaxes : <% StrNom=Request.QueryString("NOM") %>


<% = Request.QueryString("NOM") %>

DESS IIDEE

B. BAH

oct.-2000

11

Lobjet Request
Les collections de lobjet Request
La collection Cookies permet de vrifier la prsence d'un cookie de votre site sur le disque dur d'un client (sous forme d'un fichier) et d'en rcuprer les Valeurs. Syntaxes :
<% Variable = Request.Cookies("NomCookie")%> < % Variable = Request.Cookies("NomCookie").("NomCl") %>

DESS IIDEE

B. BAH

oct.-2000

12

Lobjet Request
Les collections de lobjet Request
La collection ServerVariables contient les en-ttes HTTP de la requte. Il stocke des informations sur le navigateur, le serveur, lapplication et l'utilisateur. L'accs ces informations est facilit grce la syntaxe suivante : <% Request.ServerVariables("nomEnTete") %>

DESS IIDEE

B. BAH

oct.-2000

13

Lobjet Response
Les collections de lobjet Response
La collection Cookies de l'objet Response permet de stocker des informations dans un fichier sous la forme nom/valeur sur le disque dur d'un client. Syntaxes utiliser : Lorsqu'on veut placer un cookie simple c'est dire qui contient une seule paire nom/valeur : Response.Cookies("NomCookie")

DESS IIDEE

B. BAH

oct.-2000

14

Lobjet Response
Les collections de lobjet Response
Lorsqu'on veut placer un cookie valeurs multiples c'est dire possdant un seul nom mais plusieurs Cls: Exemple: <%Response.Cookies("Utilisateur")("Nom")="nom"
Response.Cookies("Utilisateur")("Prenom")="Prenom" Response.Cookies("Utilisateur")("Adresse")="Adresse" Response.Cookies("Utilisateur")(" Email ")="Email" Response.Cookies("Utilisateur").Expires= Date+365 %>

DESS IIDEE

B. BAH

oct.-2000

15

Lobjet Response
Les proprits de lobjet Response
La proprit Buffer est un tampon dans lequel le serveur peut placer les pages HTML gnres dynamiquement. L'hte de script y ajoute les lignes de code HTML au fur et mesure qu'il les gnre. La page HTML n'est envoy au client que lorsqu'elle aura t compltement construite. A appeler juste aprs la directives :
<% @LANGUAGE="VBSCRIPT" %> <% Response.Buffer=False (ou True) %>
DESS IIDEE B. BAH oct.-2000

16

Lobjet Response
Les mthodes de lobjet Response
La mthode Redirect de l'objet Response permet de rediriger le navigateur vers une autre page. Syntaxe utiliser :
Response.Redirect ("NewUser.asp")

La mthode Write de l'objet Response permet d'envoyer au navigateur une chane de caractre comme le montre la syntaxe suivante :
Response.Write ("La promo <B> 20002001</B> du <I> IIDEE. </I>")
DESS IIDEE B. BAH oct.-2000

17

Lobjet Response
Les mthodes de lobjet Response
Les mthodes Clear, End et Flush sont utilises lorsque la proprit Buffer a la valeur True. Response.Clear : efface tout code HTML mis en cache. Response.End : oblige le serveur mettre fin au traitement dun script et renvoyer au client le contenu du tampon. Response.Flush : Sert renvoyer progressivement le contenu de la mmoire tampon au navigateur.
DESS IIDEE B. BAH oct.-2000

18

Les objets Application et session

DESS IIDEE

B. BAH

oct.-2000

19

Les objets Application et session


Les collections de lobjet Application
La collection Contents de l'objet Application contient tous instances des objets cres et ajoutes l'application grce la commande Server.CreateObject(). Syntaxe:
Valeur=Application.Contents("VarGlobale") Ou Valeur=Application ("VarGlobale") (contents est , en effet, la collection par dfaut)

DESS IIDEE

B. BAH

oct.-2000

20

Les objets Application et session


Les collections de lobjet Application
La collection StaticObjects de l'objet Application contient elle, les instances des objets cres avec la balise HTML <OBJECT>. Syntaxe:
Valeur=Application.StaticObjects("VarGlobale")

DESS IIDEE

B. BAH

oct.-2000

21

Les objets Application et session


Les mthodes de lobjet application
Les mthodes Lock et UnLock de l'objet Application Permettent respectivement de verrouiller et de dverrouiller les variables globales. La mthode Lock empche un utilisateur d'accder une variable d'application pendant qu'un autre est entrain de la modifier. Alors que UnLock dverrouille les variables pour permettre d'autres utilisateurs de les modifier. (Cf. au fichier global.asa).

DESS IIDEE

B. BAH

oct.-2000

22

Les objets Application et session


Les collections de lobjet Session
L'objet Session Prsente les mmes collections et vnements que l'objet Application. La seule diffrence entre les deux se situe au niveau de leurs portes.

Les mthodes de lobjet Session


La mthode Abandon de l'objet Session Permet de dtruire les variables stockes dans cet objet et de librer les ressources du serveur.
Syntaxe:
DESS IIDEE B. BAH

Session.Abandon
oct.-2000

23

Les objets Application et session


Le fichier Global.asa
Ce fichier doit tre unique et plac dans le rpertoire racine du site. Il comporte quatre sous-routines qui permettent de traiter tout ce qui vient d'tre dit propos des objets application et session.

DESS IIDEE

B. BAH

oct.-2000

24

Les objets Application et session


Le fichier Global.asa
<SCRIPT Language="VBScript" RUNAT="Server">
Sub Application_OnStart
' dfinir ici ce qui va se passer au dmarre de l'application .

END SUB SUB Session_OnStart


' dfinir ici ce qui va se passer lorsqu'un nouvel utilisateur se connecte ' et dmarre une nouvelle session .

END SUB SUB Session_OnEnd


' dfinir ici ce qui va se passer lorsqu'un utilisateur quitte le site.

END SUB SUB Application_OnEnd


' dfinir ici ce qui va se passer lorsqu'on arrte le serveur.

</SCRIPT>
DESS IIDEE B. BAH oct.-2000

END SUB

25

Les objets Application et session


Fichier dinclusion :
Il est utilis en gnral pour insrer dans informations communes partages par toutes les pages asp (Les contantes ADO par exemple).

Syntaxe :
<!-- #Include file="adovbs.inc" --> <!-- #Include file=" ../pages/SourceDonnees.asp" -->

DESS IIDEE

B. BAH

oct.-2000

26

Lobjet Server
Les mthodes de lobjet Server
La mthode Server.CreateObject permet d'instancier un composant serveur standard (comme ADO, AdRotator, Browser, Capabilities etc.). Exemples de Syntaxe :
<% set

ObjConnexion=Server.CreateObject("ADODB.Connection") set ObjRecordset=Server.CreateObject("ADODB.Recordset") set ObjRotator=Server.CreateObject(MSWC.AdRotator") set set ObjPerso=Server.CreateObject(MonObjet.MaClasse) ObjPerso.MaMethoode() %>

DESS IIDEE

B. BAH

oct.-2000

27

Lobjet Server
Les mthodes de lobjet Server
La mthode Server.HTMLEncode permet de formater une chane de caractre pour quelle puisse tre affiche au format souhait(caractres franais accentus par exemple). Exemples de Syntaxe :
<%

TxtEncod=Server.HTMLEncode(ChaneAEncoder)
%>

DESS IIDEE

B. BAH

oct.-2000

28

LAccs aux bases de donnes


DESS IIDEE B. BAH oct.-2000

29

Laccs aux donnes


OLEDB: une stratgie conue pour offrir un accs universel toutes les sources de donnes(relationnelles et non relationnelles).

La communication avec une source de donnes via OLEDB peut se faire par l'intermdiaire d'ADO(ActiveX Data Object) .

DESS IIDEE

B. BAH

oct.-2000

30

Laccs aux donnes

DESS IIDEE

B. BAH

oct.-2000

31

Le modle objet ADO


ADO est compos de trois objets principaux comportant chacun une srie de proprits: Connection, Command et Recordset.

La communication avec une source de donnes via OLEDB peut se faire par l'intermdiaire d'ADO(ActiveX Data Object) .

DESS IIDEE

B. BAH

oct.-2000

32

Lobjet Connection
Les proprits de lobjet Connexion
La proprit Errors permet de vrifier les erreurs renvoyes par la source de donnes suite une dfaillance du fournisseur. La proprit ConnectionString contient les informations ncessaire ltablissement dune connexion avant son ouverture.

DESS IIDEE

B. BAH

oct.-2000

33

Lobjet Connection
Les proprits de lobjet Connexion
La proprit CursorLocation pour appeler le fournisseur du curseur ct client prenant en charge les mises jour par lots.

Les mthodes de lobjet Connexion


Les mthodes Open et Close permettent respectivement douvrir et de fermer la connexion physique une source de donnes.
DESS IIDEE B. BAH oct.-2000

34

Lobjet Connection
Les mthodes de lobjet Connexion
La mthode Execute permet dexcuter une commande SQL ou une procdure stocke sur la connexion. Elle peut renvoyer un jeu denregistrement. Les mthodes BeginTrans, CommitTrans et RollbackTrans permettent de grer les transactions sur la connexion ouverte.

DESS IIDEE

B. BAH

oct.-2000

35

Lobjet Command
Les mthodes de lobjet Command
La mthode CreateParameter cre un objet parameter. La mthode Execute permet dexcuter une instruction SQL, une requte une requte paramtres ou une procdure stocke. Elle renvoie, en retour, un jeu denregistrement. La mthode Cancel annule la mthode excute ou open en cours.
DESS IIDEE B. BAH oct.-2000

36

Lobjet Command
Les Proprits de lobjet Command
La proprit ActiveConnection permet dassocier lobjet Command une connexion ouverte. La proprit CommandText dfinit ou renvoie une valeur de type String contenant une commande pouvant tre une instruction SQL, un nom de table, un nom de requte paramtre ou lappel dune procdure stocke.

DESS IIDEE

B. BAH

oct.-2000

37

Lobjet Command
Les Proprits de lobjet Command
La proprit CommandType Indique le type de commande correspondant celui de la proprit CommandText. La collection Parameters contient lensemble des objets Parameter d'un objet Command. La commande suivante permet dajouter un objet parameter la collection parameters :
Command.Parameters.Append (objParam)

DESS IIDEE

B. BAH

oct.-2000

38

Lobjet Parameter
Les Proprits de lobjet Parameter
La proprit Type de lobjet Parameter indique le type de donnes dun objet parameter. La Proprit Direction de lobjet Parameter indique si ce dernier correspond un paramtre d'entre, un paramtre de sortie ou les deux, ou si le paramtre est la valeur de retour d'une procdure stocke. La proprit Value de lobjet Parameter indique la valeur affecte cet objet.
DESS IIDEE B. BAH oct.-2000

39

Lobjet Recordset
Lobjet Recordset: reprsente le jeu
d'enregistrements complet obtenu en ouvrant une table ou en excutant une commande (instruction SQL ou procdure stockes). Il permet l'exploration et la manipulation de donnes.

Les mthodes de lobjet Recordset


La mthode AddNeW, Close, Delete, MoveFirst, MoveNext, MoveLast, Open, Update, UpdateBatch

DESS IIDEE

B. BAH

oct.-2000

40

Lobjet Recordset
Les proprit de lobjet Recordset
ActiveConnection, EOF, Fields, Pagesize, AbsolutePage.

DESS IIDEE

B. BAH

oct.-2000

Connexion et manipulation des donnes


Chanes de connexion pour Access
Chane de connexion utilisant le pilote ODBC pour Access
connstring="DRIVER={Microsoft Access Driver (*.mdb)};"&_ "DBQ=C:\chemin physique\Forum.mdb"

41

Chane de connexion utilisant le pilote OLEDB pour Access

connstring=" Provider=Microsoft Access.Jet.OLEDB.3.51; Data& _ dource=C:\ chemin physique\Forum.mdb"

DESS IIDEE

B. BAH

oct.-2000

Connexion et manipulation des donnes


Chanes de connexion SQL Server .

42

Chane de connexion utilisant le pilote ODBC pour SQL Server


connstring="driver={SQL Server}; server=nom_serveur;uid=login;" &_ " pwd=mot_de_passe; database=NomBase_de_donnes"

Chane de connexion utilisant le pilote OLEDB pour SQL Server

connstring=" Provider=SQLOLEDB; Data dource="&_ " NomMachine SQL Server; Initial Catalog= NomBase_de_donnes;"&_ "User ID=NomUtilisateur; Password= mot_de_passe"

DESS IIDEE

B. BAH

oct.-2000

Connexion et manipulation des donnes


Chanes de connexion Pour Oracle .
Chane de connexion utilisant le pilote ODBC pour Oracle
connstring = "driver={Microsoft ODBC for Oracle};" &_ "server=Nom_serveur;uid=login;pwd=mot_de_passe;"&_ "database=Nombase_de_donnes"

43

Chane de connexion utilisant le pilote OLEDB pour Oracle

'

connstring = "Provider=MSDAORA; Data source=IntanceOracle" & _ "User ID=NomUtilisateur; Password= mot_de_passe"

DESS IIDEE

B. BAH

oct.-2000

Connexion et manipulation des donnes


Ouverture et fermeture dune connexion.
AdoConnection.Open connstring traitements ADOConnection.Close

44

Ouverture et fermeture dune connexion.


ADORecordset.Open connstring traitements ADORecordset.Close

DESS IIDEE

B. BAH

oct.-2000

45

Objet connection
Set ADOConn = Server.CreateObject("ADODB.Connection") 'Cration d'une instance ADOConn.Open StrConn 'Ouverture de la connection Set ADORecodset = ADOConn.Execute(SQLQuery) [Ou ADOConn.Execute(SQLQuery)] 'Excution de la requte et retourne un objet Do While Not ADORecordset.EOF traitements Fermture et destruction de lobjet ADORecordset.Close Set ADORecordset=Nothing ADOConn.close 'Fermeture et destruction de la connexion Set ADOConn =Nothing
DESS IIDEE B. BAH oct.-2000

Loop

46

Objet Recordset
Set ADOConn = Server.CreateObject("ADODB.Connection") 'Cration d'une instance ADOConn.Open StrConn 'Ouverture de la connection Set ADORecodset = Server.CreateObject("ADODB.Recordset") ADORecodset.open " SELECT * From table", ADOConn 'Excution de la requte et retourne un objet Do While Not ADORecordset.EOF traitements Fermture et destruction de lobjet ADORecordset.Close ADORecordset=Nothing ADOConn.close 'Fermeture et destruction de la connexion Set ADOConn =Nothing
DESS IIDEE B. BAH oct.-2000

Loop

Set

47

Objet command
Set cmdQuery = Server.CreateObject("ADODB.Command") cmdQuery.ActiveConnection =ADOConn cmdQuery.CommandText = "NomRequete [Ou cmdQuery.CommandText = SELECT * FROM NomTable ] set parametre = server.CreateObject("ADODB.Parameter") Set parametre = cmdQuery.CreateParameter("ParamIDMembre") parametre.Type = adInteger parametre.Direction = adParamInput parametre.Value = Request.Cookies(" Valeur ") cmdQuery.Parameters.Append parametre Set ADORecordset B. BAH = cmdQuery.Execute DESS IIDEE
oct.-2000

48

Objet command
Do While Not ADORecordset.EOF traitements Loop Fermture et destruction de lobjet ADORecordset.Close Set ADORecordset=Nothing

DESS IIDEE

B. BAH

oct.-2000

49

Objet connection
'Cre et ouvre un objet Connection

Set ADOConnection = Server.CreateObject("ADODB.Connection") ADOConnection.Open StrConn 'Cre et ouvre un objet Recordset Set ADORset = Server.CreateObject("ADODB.Recordset") ADORset.ActiveConnection = ADOConnection ADORset.CursorType = adOpenKeyset ADORset.LockType = adLockOptimistic ADORset.Source = "NomTable" ADORset.Open

DESS IIDEE

B. BAH

oct.-2000

50

Objet connection
ADORset.AddNew ADORset ("Nom") = Request.Form ("Nom") ADORset(" Prenom") = Request.Form (" Prenom") ADORset(" Adresse") = Request.Form (" Adresse") ADORset(" Tlphone") = Request.Form("PhoneNumber") ADORset(" Ville") = Request.Form("Ville") ADORset("Departement") = Request.Form ("Department") ADORset.Update ADORset.MoveFirst ADORset.Close ADOConnection.close
DESS IIDEE B. BAH oct.-2000

51

Lobjet Response
La manipulation des donnes
tablire une connexion une source de donnes Cration dune chane de commande SQL. Excuter la commande. Si la commande renvoie des lignes, les tocker dans un objet Recordset. Lobjet Recordset permet lajout, la mise jour, modification, suppression.

DESS IIDEE

B. BAH

oct.-2000

52

Lobjet Response
La manipulation des donnes
tablire une connexion une source de donnes Cration dune chane de commande SQL. Excuter la commande. Si la commande renvoie des lignes, les tocker dans un objet Recordset. Lobjet Recordset permet lajout, la mise jour, modification, suppression.

DESS IIDEE

B. BAH

oct.-2000

Vous aimerez peut-être aussi