Vous savez maintenant ajouter un enregistrement,a fficher et rechercher un renrgistrement dans une base de données.
Cette activité vous apprendra à modifier un enregistrement.
À partir de votre page CHERCHE2.ASP, vous ajouterez un lien vers la page qui servira à inscrire les données à modifier.
Étape 2
Construction de cette page qui sera nommée : modifier.asp
Étape 3
Les données de la page modifier.asp seront envoyées à la page MODIFIER2.ASP qui servira à inscrire les nouvelles données de l'enregistrement dans la table de la base de données.
Réalisation de l'étape 1
Cliquez le bouton 4- Accès à mon espace de téléchargement de votre portfolio
Cliquez le bouton Modifier avec directive de la page CHERCHE2.ASP en inscrivant le numéro 11375 dans le champ No de la directive
Repérez ces lignes de code dans votre page :
do while not rs.eof response.write rs.fields("id") & " " response.write rs.fields("titre") & " "response.write rs.fields("adresse") & " "response.write rs.fields("motcle") & " "response.write ""
Insérez votre curseur avant la ligne response.write "" et insérez une ligne vide.
Dans cette ligne, vous allez écrire le code d'un lien affichant la page modifier.asp en y ajoutant le paramètre id.
Explications : Le lien affichera la page modifier.asp.
L'utilisation du caractère ? indique transmettra le paramètre ID qui servira à identifier l'enregistrement désiré.
L'utilisation d'un tel paramètre est une illustration de la méthode GET qui permet de passer une donnée d'une page à une autre.
Enregistrez cette page
Réalisation de l'étape 2
Cliquez le bouton Modifier de la page ASPLISTE.ASP, sélectionnez tout le contenu,copiez-le et fermez cette page.
Cliquez le bouton Ajouter une page avec directive en inscrivant le numéro 11375 dans le champ No de la directive
Collez le contenu du presse-papier dans votre page.
Modifiez ensuite le titre de niveau 1 pour y inscrire ce texte : Modifier un enregistrement
Repérez la ligne de code de la commande SQL suivante :
sql ="select * from favori"
Modifiez cette ligne afin de permettre de sélectionner tous les champs de l'enregistrement identifiée par le ID transmsis par l'URL. La nouvelle commande SQL sera :
sql ="select * from favori where id="
sql=sql & request.querystring("id")
Notez bien l'utilisation de l'OBJET REQUEST.QUERYSTRING() qui permet de récupérer une variable transmise par la méthode GET.
Vous allez modifier ces lignes afin d'inscrire les données de chacun des champs de l'enregistrement dans un champ de formulaire.
Ce formulaire sera envoyé ensuite à la page MODIFIER2.ASP.
L'action du formulaire sera : MODIFIER2.ASP
La méthode sera : POST
Les valeurs de chacun des champs seront placées dans un champ de formulaire de la façon suivante :
- Champ ID dans un champ de type caché (hidden)
- Champ Titre dans un champ de type TEXT de taille 100
- Champ Adresse dans un champ de type TEXT de taille 100
- Champ MOTCLE dans un champ de type TEXT de taille 100
Voici le résultat que vous devriez obtenir:
Notez bien la ligne qui ferme le code afin de poursuivre en écriture HTML et la ligne qui ouvre le code ASP permet de poursuivre en écriture ASP/VBSCRIPT
ATTENTION : Si vous copiez et collez ce code dans votre page, vous devrez écrire les balises de fermeture et d'ouverture du code ASP car les balises ci-dessus sont des images!!!
Enregistrez cette page sous le nom MODIFIER.ASP
Réalisation de l'étape 3
Cliquez le bouton Ajouter une page avec directive en inscrivant le numéro 11375 dans le champ No de la directive
IMPORTANT : Il est toujours préférable de débuter votre page ASP en inscrivant le code suivant dans votre page
<% @Language=VBScript %><%Option Explicit%>
La première ligne indique au serveur que le code par défaut de la page asp sera le Vbscript.
La deuxième ligne indique au serveur que toutes les variables doivent être déclarées (ça évite des problèmes!).
Inscrivez ces deux lignes au début de votre page.
Inscrivez ensuite le titre de niveau 1 : Modification d'un enregistrement
Utilisez le bouton Modifier une fiche afin de définir le coder asp / VBscript qui permettra de mettre à jour les nouvelles données de votre enregistrement.
Inscrivez dans les fenêtres de dialogue qui apparaîssent les informations suivantes :
- Chemin de la base de données : bd1.mdb
- Table : favori
- Nombre de champ : 3
- Nom du champ 1 : titre
- Nom du champ 2 : adresse
- Nom du champ 3 : motcle
Explication du code obtenu :
-->Déclaration des variable
dim titre
--> Utilisation de l'objet REQUEST.FORM() ou REQUEST.QUERYSTRING() afin d'assigner les valeurs aux différentes variables et remplacement des apostrophes par des doubles apostrophes encore une fois.
titre=replace(request.form("titre"),"'","''")
-->Vérification du contenu de la valeur et assignation de la valeur NULL si la valeur est vide.
if titre="" then
titre="null"
else
titre="'"&titre&"'"
end if
-->Répéter ces opérations pour chacune des variables
dim adresse
adresse=replace(request.form("adresse"),"'","''")
if adresse="" then
adresse="null"
else
adresse="'"&adresse&"'"
end if
dim motcle
motcle=replace(request.form("motcle"),"'","''")
if motcle="" then
motcle="null"
else
motcle="'"&motcle&"'"
end if
-->Déclaration de la variable SQL
dim sql
-->Construction de la commande SQL de type UPDATE (mise à jour)
SQL = "update favori set "
sql=sql & "titre="
sql=sql & titre
sql=sql & ","
sql=sql & "adresse="
sql=sql & adresse
sql=sql & ","
sql=sql & "motcle="
sql=sql & motcle
sql=sql &" where id="
sql=sql & request.querystring("id")
'À noter que si la valeur ID à récupérer provenait d'un formulaire utilisant la méthode POST que cette valeur serait récupérée en utilisant request.form("id") au lieu de request.querystring("id")
-->Déclaration de la variable de connection
dim conn
-->Création de l'OBJET connection
Set conn = Server.CreateObject("ADODB.Connection") -->Ouverture de la connection à la abse de données
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("./bd1.mdb")
-->Exécution de la commande SQL
Conn.Execute(SQL)
-->Fermeture de la connection
Conn.Close
-->Libérer l'espace mémoire alloué à l'objet connection
set conn=nothing
-->Écriture d'un message à l'utilisateur
response.write " La fiche a été modifiée avec succès. "
Enregistrez cette page sous le nom MODIFIER2.ASP en utilisant le champ NOM DE VOTRE PAGE situé au bas de la page et cliquez le bouton CRÉER LA PAGE
Validez votre travail
Apportez les modifications au besoin et validez de nouveau
IMPORTANT : Ajoutez une page à votre portfolio qui contiendra:
- dans le champ titre : ASP - Modifier un enregistrement
- dans le champ contenu : un lien vers votre page CHERCHE.ASP
Cochez la case à cocher de correction du travail
Enregistrez cette page
Cette page servira à la correction de votre travail et à transmettre mes commentaires concernant ton travail.