ARTICLES | Applications | Best of | FAQ | Forums | VBScript | JScript | Livres | Liens | Contact | ACCUEIL

LA REFERENCE FRANCAISE DES DEVELOPPEURS ACTIVE SERVER PAGEs



Ajouter des enregistrements dans une table avec ASP
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>


VERSION IMPRIMABLE PDF


David Mocq, Webcarve


Retour à la liste des articles

Hit-Parade  


FastCounter by bCentral