Comment visualiser une base de données dans un page asp


 

Exemple concret:

Telecharger le zip contenant l'exemple complet

Ce code permet de visualiser le contenu d'une table access dans une page asp


Ma page asp s'appelle select.asp
Ma base de données s'appelle tablePeople.mdb
Ma table s'appelle people.mdb

ID
AutoNumber
Primary key

firstName
Text
lastName
Text
email
Text


Voici ma page asp:

<%

'Connexion à la bdd'

DSN_BASE = "DBQ=" & Server.Mappath("tablePeople.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open DSN_BASE

'J'utilise une requête SQL pour dire à ma table ce que je désire voir et dans quel ordre'

SQL = "SELECT ID, firstName, lastName, email FROM people ORDER BY lastName"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, conn

%>

<html>
<head>
<title></title>
</head>
<body>

'Création d'une table pour la mise en page'

<table width="100%" border="1">

'je mets un titre à mes colonnes'

<tr>
<td>ID</td>
<td>Last Name</td>
<td>First Name</td>
<td>E-mail</td>
</tr>

'Je déclanche la lecture de mon code sql'

<%
do while Not rs.eof
%>

'Le contenu des différentes rangées, je fais appel aux champs de ma table'

<tr>
<td><%=rs("ID")%></td>
<td><%=rs("lastName")%></td>
<td><%=rs("firstName")%></td>
<td><%=rs("email")%></td>
</tr>

'Je fais un loop après chaque rangée pour que la construction de ma table reste correcte'


<%
rs.MoveNext
loop
%>

</table>
'Je referme ma table'
</body>
</html>

'Je referme ma connexion car je n'en ai plus besoin, cette partie de script permet à la base de données de se refermer'

<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>



Un peu plus de requêtes SQL avec l'instruction SELECT:

Voici ma table: book.mdb

ID nom prenom age nationalite email


SELECT * FROM book
'Afficher toute la bdd'

SELECT nom, prenom FROM book
'Afficher uniquement les colonnes nom et prenom'

SELECT * FROM book WHERE nom='Nathalie'
'Afficher uniquement les rangées contenant dans la colonne nom:Nathalie'

SELECT * FROM book WHERE age > 20
'Afficher uniquement les rangées contenant un age supérieur à 20'

SELECT * FROM book WHERE (prenom='Nathalie') AND (age > 20)
'Afficher uniquement les rangées contenant le prenom Nathalie ET un age supérieur à 20'

SELECT * FROM book WHERE (prenom='Nathalie') OR (age >= 20)
'Afficher uniquement les rangées contenant le prenom Nathalie OU un age supérieur ou égal à 20'

SELECT * FROM book WHERE (nom='Nathalie') AND (age >= 20) OR (nationalite='belge')
'Afficher uniquement les rangées contenant le mot Nathalie ET un age supérieur ou égal à 20 OU dont la nationalité est belge'

SELECT * FROM book WHERE age BETWEEN 20 AND 30
'Afficher uniquement les rangées contenant dont l'age est entre 20 et 30'

SELECT * FROM book WHERE nom LIKE '%th%'
'Afficher uniquement les rangées dont le nom contient th'

SELECT * FROM book WHERE nationalite='belge' ORDER BY age
'Afficher uniquement les rangées contenant la nationalite belge par ordre d'age'

SELECT * FROM book WHERE nationalite='belge' ORDER BY age DESC
'Afficher uniquement les rangées contenant la nationalite belge par ordre décroissant d'age (par défaut, le tri se fait par ordre croissant)'

SELECT nom, prenom, nationalite FROM book GROUP BY nationalite
'Afficher les noms, les prenoms et les nationalité en les regroupant par nationalité'

SELECT DISTINCT nationalite FROM book
'Afficher les nationalités de la table'