| Dans cette fiche... |
La base de données "Sites Internet" a été
créée, renseignée, et installée comme source de données ODBC. Reste à afficher une
liste simple des sites, pour interroger la base via un navigateur web.
Cliquez sur l'icône ci-contre pour tester le code ASP.
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Exemple</TITLE>
</HEAD>
<BODY>
<%
dim objConnect
dim objRecordset
set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.Open "WebDB"
set objRecordset = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "SELECT * FROM tblSites;", objConnect
%>
<P><FONT FACE="Verdana" COLOR="#004080"><BIG><BIG><STRONG>
Liste des sites
</STRONG></BIG></BIG></FONT></P>
<FONT FACE="Verdana" SIZE="3">
Voici la liste des sites, par ordre d'inscription...
</FONT>
<P>
<FONT FACE="Verdana" SIZE="2">
<%
Do While not objRecordset.eof
Response.Write(objRecordset("NomSite"))
Response.Write("<BR>")
objRecordset.MoveNext
loop
set objRecordset=nothing
set objConnect=nothing
%>
</FONT>
</P>
</BODY>
</HTML>
Seules les nouveautés sont commentées.
Les codes entre < et > concernent l'affichage par HTML classique.
dim objConnect dim objRecordset |
Deux variables sont déclarées ici, pour usage ultérieur. La
1ère désignera un objet Connexion, la 2ème un objet Recordset.
|
set objConnect = Server.CreateObject("ADODB.Connection")
|
| Cette ligne permet de créer l'objet Connexion (objConnect), en lui
affectant une valeur. Si vous êtes habitué à la notion de variable, notez qu'on n'écrit pas : objConnect = Server.CreateObject("ADODB.Connection") mais set objConnect = Server.CreateObject("ADODB.Connection") parce qu'il s'agit ici de faire référence à un objet, non à une valeur simple. |
objConnect.Open "WebDB" |
| Maintenant que l'objet Connexion objConnect existe, on peut utiliser une
de ses méthodes (comprenez "actions"), qui consiste à ouvrir une base de
données précise. Le nom WebDB désigne la base de données référencée comme source
ODBC. Si la base de données avait nécessité un nom d'utilisateur et un mot de passe,
vous auriez écrit : |
set objRecordset = Server.CreateObject("ADODB.Recordset")
|
| De même qu'on a créé un objet Connexion, on créé ici l'objet Recordset objRecordset. La syntaxe est à reproduire mécaniquement. |
objRecordset.Open "SELECT * FROM tblSites;", objConnect |
| Après avoir créé la requête (l'objet Recordset), il faut définir la
table concernée. On fait pour ça appel à la chaîne SQL suivante : SELECT * FROM tblSites; (qui liste tous les champs et tous les enregistrements de la table tblSites). Notez que la méthode Open doit également recevoir une 2ème valeur, qui est la connexion concernée (ici objConnect). |
Do While not objRecordset.eof ... loop |
| La boucle Do While/Loop est une variante de While/Wend.
EOF signifie End Of File (fin de fichier). Traduisez en français : boucler tant qu'on n'a pas atteint la fin du jeu d'enregistrements (donc la dernière ligne de la requête, en allant vers le bas). Entre le Do While et le Loop vont figurer toutes les instructions qui concernent l'affichage d'une ligne du Recordset (un site, en clair). |
Response.Write(objRecordset("NomSite"))
Response.Write("<BR>")
|
| Dans les pages précédentes, vous avez vu que Response.Write() permet
d'écrire dans la page HTML. Dans cet exemple, on écrit donc 2 informations :
On aurait d'ailleurs pu raccourcir en : Response.Write(objRecordset("NomSite") & "<BR>") |
objRecordset.MoveNext |
| Ne pas oublier de passer à l'enregistrement suivant dans la table. D'où
le MoveNext On traite ainsi chaque ligne de la requête jusqu'à atteindre la dernière ligne des données. |
set objRecordset=nothing set objConnect=nothing |
| Le programme est terminé. Il faut penser à libérer les 2 objets, en
leur attribuant la valeur Nothing. Là encore, comme on manipule des objets, il faut démarrer la ligne par un Set. |
| Cette section vous intéresse ? Abonnez-vous ! |
|