|
L'ajout
d'enregistrements dans une base de données par le Web constitue une
étape essentielle, car elle permet principalement deux choses d'un
intérêt évident: la mise à jour du site par le webmaster ou par
toute personne autorisée, et la contribution des visiteurs à la vie
de votre site (participation à un forum de discussion, rédaction
d'une petite annonce, commande de produits, etc.).
Avec la
base sur laquelle nous travaillons habituellement, nous allons ajouter
des enregistrements dans la table table1.
Elle contient toujours les
champs suivants:
| 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) |
Le champ Id étant
un champ de type NuméroAuto,
nous n'aurons pas à nous en préoccuper: c'est le moteur Access,
sur le site distant, qui s'occupera tout seul d'attribuer un Id
à tout nouvel enregistrement.
Voici donc ce
que nous allons écrire dans le code HTML de notre page (qui, dans
notre exemple, s'appellera user.asp):
<%
ENVOY = Left(UCase(Request("ENVOYER")),5) '
On récupère la valeur du bouton cliqué
If ENVOY = "ENVOY" Then ' Si le
bouton ENVOYER a été cliqué, alors
If Request("Nom") = "" OR Request("Prenom")
= "" OR Request("Age") = "" then 'On
vérifie si les deux champs ont bien été remplis, sinon
msg = msg & "<B><I>Veuillez remplir tous les
champs.</I></B><BR>" 'Message
End If
If msg = "" Then 'Si aucune
erreur alors, création de la requête d'insertion dans la base
SQLQuery= "INSERT INTO table1 (Nom, Prenom, Age) "
SQLQuery= SQLQuery & "VALUES( '" & Request("Nom")
& "','"& Request("Prenom")&
"','" & Request("Age") & "')"
Set oConn = Server.CreateObject("ADODB.Connection") 'Création
d'une instance
oConn.Open "dsn=mabase" 'Ouverture
de la connection
oConn.Execute(SQLQuery) 'Exécution de la
requête
oConn.close 'Fermeture de la connection
Response.Redirect "ok.asp" 'Enfin,
on va sur la page qui certifie le bon enregistrement des données
End If
Elseif Annuler = "ANNUL" Then ' Si Annuler a été cliqué
alors...
Response.Redirect "user.asp" '
retour a la page
End if
%>
<html>
<body>
<table>
<tr>
<td valign="top" bgcolor="#FFFFFF">
<CENTER>
<form method="POST" action="ok.asp">
<H2>Ajouter un enregistrement</H2>
<BR>
<table>
<tr>
<td>Nom: </td>
<td>
<input type="text" name="Nom"
size="20"
value="<%=Request("Nom")%>">
</td>
</tr>
<tr>
<td>Prénom: </td>
<td>
<input type="text" name="Prenom"
size="20"
value="<%=Request("Prenom")%>">
</td>
</tr>
<tr>
<td>Age: </td>
<td>
<INPUT TYPE="text" NAME="Age"
SIZE="20" VALUE="<%=Request("Age")%>">
</td>
</tr>
<%=(msg)%> 'C'est ici que le
message d'alerte est susceptible d'apparaitre s'il y a une erreur de
saisie ou une saisie incomplète
</table>
<p>
<input type="submit" value="ENVOYER" name="Envoyer">
<input type="submit "value="ANNULER" name="Annuler">
</p>
</form>
</center>
</td>
</table>
</body>
</html>
|