|
Vous pouvez être amené
à exploiter des bases de données dont le contenu varie en fonction
de différents éléments. Notamment, un client peut rectifier le
contenu d'une commande, le prix de vente d'un article peut être revu
à la baisse, ou encore vous pouvez avoir commis une erreur dans un
enregistrement lors de la saisie initiale. Voyons comment procéder
pour intervenir directement, et simplement, sur les enregistrements.
Notre base de
travail habituelle, rappelons-le, est 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) |
Nous allons
supposer qu'un ou plusieurs enregistrements de notre base doivent être
modifiés, par exemple en raison d'un nom mal orthographié. Nous
allons donc créer un enregistrement dans notre table table1,
avec pour valeurs:
Nom
Maartin
Prénom
Luc
Age
33
Or, le nom de
cette personne est en fait Martin,
et non Maartin. Avec
ASP, la correction va s'effectuer en 2 étapes:
- nous allons d'abord
lire l'enregistrement,
- ensuite nous
saisirons les rectifications.
Lisons donc
l'enregistrement
<% id
= Request.QueryString("id") %>
<%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
SQLQuery = "SELECT * FROM table1 where Id =" & id &
""
Set RS = OBJdbConnection.Execute(SQLQuery)
%>
Préparons ensuite la
mise à jour dans la base
<%
Action = Left(UCase(Request("Action")),5)
If Action="ENVOY" Then
sql = "update table1 "
sql = sql & "Set Nom =" & Request("Nom"),
","
sql = sql & "Prenom ='" & Request("Prenom")
& "',"
sql = sql & "Age ='" & Request("Age")
& "' "
sql = sql & "WHERE Id =" & Request("Id")
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
OBJdbConnection.Open "mabase"
Set RS1 = OBJdbConnection.Execute(SQL)
End If
%>
Pour saisir les données,
il ne nous reste plus qu'à récupérer les valeurs actuelles (avant
modification) dans un formulaire.
<FORM METHOD="post">
<INPUT TYPE="hidden" NAME="Id"
VALUE="<% =rs("Id") %>">
<P>Nom</P>
<INPUT TYPE="text" NAME="Nom" VALUE="<%
=rs("Nom") %>">
<P>Prénom</P>
<INPUT TYPE="text" NAME="Prenom"
VALUE="<% =rs("Prenom") %>">
<P>Age</P>
<INPUT TYPE="text" NAME="Age" VALUE="<%
=rs("Age") %>">
<INPUT TYPE="Submit" NAME="Action"
VALUE="ENVOYER">
</FORM>
De cette façon,
les valeurs modifiables (Nom,
Prenom,
Age)
pourront être éditées, et le fait de cliquer sur le bouton ENVOYER
aura pour effet de rectifier instantanément dans la table,
l'enregistrement correspondant, dans cet exemple, à Monsieur Martin.
|