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. |