|
Que vous souhaitiez
convertir automatiquement un prix en Euro sans avoir à effectuer de
fastidieuses saisies dans votre base de données, ou que vous
souhaitiez afficher des statistiques, les calculs sont possibles dans
une page ASP. Et d'une simplicité... arithmétique.
Notre base de
travail est toujours structurée comme suit:
| Nom
du champ |
Paramètres |
| Id |
Type
NuméroAuto |
| Nom |
Type
Texte,
Longueur 50 car. |
| Prenom |
Type
Texte,
Longueur 30 car. |
| Age |
Type
Numérique (entier
long) |
Créons une page
ASP vierge, que nous allons nommer calcul.asp.
Nous allons y afficher l'ensemble des enregistrements de notre table table1.
<%
Const adOpenKeyset = 1
Set objConnection =
Server.CreateObject("ADODB.Connection")
OBJConnection.Open "mabase"
Dim strSQL
strSQL = strSQL & "SELECT * FROM table1 order by Id"
Set objRecordset = Server.CreateObject("ADODB.Recordset")
objRecordset.Open strSQL, objConnection, adOpenKeyset
%>
Nous créons ici un
jeu d'enregistrements (recordset), qui pourra être fort utile par la
suite dans le cas de calculs complexes. Nous y reviendrons au cours
d'un article futur.
Maintenant, nous
allons "naviguer" dans la base de données pour y collecter
les informations une à une.
<%
Do While Not objRecordset.EOF
%>
<% =objRecordset("Nom")
%> <% =objRecordset("Prenom") %>, <%
=objRecordset("Age") %> ans<br>
Nous créons
ensuite, toujours à l'intérieur
de la boucle, deux variables.
L'une appelée total
sert à calculer le cumul des âges. La seconde, intitulée nb,
compte le nombre d'enregistrements.
<% total = total
+ objRecordset2("age") %>
<% nb = nb + 1 %>
Et on exécute
la boucle.
<% objRecordset.MoveNext
Loop
%>
Au fur et à
mesure de l'exécution de la boucle, les variables total
et nb
se sont incrémentées. La boucle étant maintenant achevée, nous
pouvons afficher nos résultats:
<p>Nombre de
personnes: <% =nb %></p>
<p>Age cumulé: <% = total %> ans</p>
(notez qu'en soi
cette valeur n'a aucune signification réelle, et ne sert qu'à procéder
au calcul de la moyenne)
Et voici la moyenne:
<p>Moyenne d'âge:
<% = total / nb %> ans</p>
Et pour
terminer, comme d'habitude, on ferme la connection ET
le jeu d'enregistrements.
<%
objRecordset.Close
objConnection.Close
Set objRecordset = Nothing
Set objConnection = Nothing
%>
|