Cours CPTIC 158
Bases de données sur Internet
16 et 17 avril 2002

Quelques opérations ADO standards

Supposons une table contenant 3 champs: le champ ID est numérique et s'autoincrémente, les champs Nom et Prenom sont des champs Texte.

Personne
ID
Nom
Prenom

Les scénarios possibles sont:

Recherche 1 - 2 - 3 - 7 - 8
Ajouter un nouvel enregistrement 1 - 4 - 7 - 8
Modifier un enrgistrement 1 - 5 - 7 - 8
Supprimer un nregistrement 1 - 6 - 8

1. Ouvrir la connexion vers la base

<%
  DIM Connexion
  DIM ConnectStr

  Set Connexion = Server.CreateObject("ADODB.Connection")
  ConnectStr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("nomdelabase.mdb")
  Connexion.Open ConnectStr
%>

2. Effectuer une recherche :

Supposons la connexion déjà ouverte (1) et le critère de recherche fournis par une requête HTML

DIM RS
DIM RequeteSQL

RequeteSQL = "SELECT ID, Nom, Prenom FROM Personne WHERE Nom='" & Request.QueryString("nom") & "'"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open RequeteSQL, Connexion

3. Parcourir le RecordSet

Supposons la connexion et le recordset déjà ouvert déjà ouverte(1) et (2)

<%
  RS.MoveFirst
  DO UNTIL RS.eof
      Response.Write RS("ID") & " : " & RS("prenom") " " RS("nom") & "<BR>"
    RS.MoveNext
  LOOP
%>

Continuer avec les points 7 et 8

4. Insérer un nouvel enregistrement

Supposons la connexion déjà effectuée (1) et que les nouvelles valeurs aient été fournis par un formulaire web.

<%
  DIM RS

  Set RS = Server.CreateObject("ADODB.RecordSet")
  RS.Open "Personne", Connexion, , adLockOptimistic, adCmdTable

  RS.AddNew
  RS("Nom") = Request.Form("nom")
  RS("Prenom") = Request.Form("prenom")
  RS.Update
%>

Continuer avec les points 7 et 8

5. Modifier un enregistrement existant

Supposons la connexion déjà effectuée (1) et que les valeurs modifiées aient été fournis par un formulaire web.

<%
  
DIM RS
  DIM RequeteSQL

  RequeteSQL = "SELECT ID, Nom, Prenom FROM Personne WHERE ID=" & Request.Form("id")
  Set RS = Server.CreateObject("ADODB.RecordSet")
  RS.Open RequeteSQL, Connexion, , adLockOptimistic

  RS("Nom") = Request.Form("nom")
  RS("Prenom") = Request.Form("prenom")
  RS.Update
%>

Continuer avec les points 7 et 8

6. Supprimer un enregistrement

Supposons la connexion déjà effectuée (1) et que l'ID de l'enregistrement à supprimer ait été fourni par un requête web.

<%
  
DIM RequeteSQL

  RequeteSQL = "DELETE FROM Personne WHERE ID = " & Request.Form("ID")
  Connexion.Execute RequeteSQL
%>

Continuer avec le point 8

7. Fermer le RecordSet

Supposons la connexion et le recordset déjà ouvert déjà ouverte(1) et (2), et éventuellement le point (3) effectué

<%
  RS.Close
  Set RE = Nothing
%>

Continuer avec le point 8

8. Fermer l'accès à la Base

Supposons la connexion et le recordset déjà ouvert déjà ouverte(1) et (2), et éventuellement le point (3) effectué

<%
  Connexion.Close
  SET Connexion = Nothin
%>