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

LA REFERENCE FRANCAISE DES DEVELOPPEURS ACTIVE SERVER PAGEs



Mettre à jour des enregistrements dans une table
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.


VERSION IMPRIMABLE PDF


Jean Lançon, MJ Presse


Retour à la liste des articles

Hit-Parade  


FastCounter by bCentral