Section courante

A propos

Section administrative du site

Lorsqu'on utilise le ASP, le meilleur moyen le plus facile d'effectuer des recherches dans une base de données, c'est d'utiliser la base de données par l'ODBC du système d'exploitation Windows.

Pour effectuer une recherche dans cette base de données à l'aide d'un formulaire, l'opération est simple mais n'est pas nécessairement à la porte du premier venu.

Tout d'abord commençons en supposant que nous avons une base de données ODBC appelé «mabasededonnes_db» dans lequel la table «cdmworkgroup» avec le contenu suivant :

Cin WorkGroupId Name_EN Name_FR Description Status CreateDate CreateUserId LastUpdate UpdateUserId
000 0000023901 Coder Développement Groupe de programmeur effectuant de la recherche et développement (R&D). A 2006/03/09 SYSADM 2006/03/09 SYSADM
000 0000023902 Maintenance Maintenance Groupe maintenant les divers services réseaux, implantant les développements, maintenant l'état actuel du matériel et administratant les accès. A 2006/03/09 SYSADM 2006/03/09 SYSADM
000 0000023903 Direction Direction Direction Groupe de travail s'occupant des divers orientations à prendre sur les projets et les produits. I 2006/03/09 SYSADM 2006/03/09 SYSADM
075 0000000068 Test Teste Groupe désigné pour le contrôle de la Qualité A 2006/03/09 STREMBLAY 2006/03/09 STREMBLAY

Si on veut sortir par exemple un tableau HTML avec le nom français, anglais et la description dans le Cin valant 000, on aura un petit programme ressemblant à ceci :

  1. <%
  2. Set MyCon = Server.CreateObject("ADODB.Connection")
  3. MyCon.ConnectionString = "DSN=mabasededonnes_db;UID=root;PWD="
  4. MyCon.Open
  5.  
  6. Response.Write "<TABLE Border=1 bordercolor=""#000000"" CellSpacing=0>"
  7. Response.Write "<TR>"
  8. Response.Write "<TD><B>Nom francais</B></TD>"
  9. Response.Write "<TD><B>Nom anglais</B></TD>"
  10. Response.Write "<TD><B>Description</B></TD>"
  11. Response.Write "</TR>"
  12.  
  13. Set RS = MyCon.Execute("SELECT * from cdmworkgroup where Cin='000'")
  14. DO WHILE Not RS.EOF
  15.     Response.Write "<TR>"
  16.     Response.Write "<TD>" & RS("Name_EN") & "</TD>"
  17.     Response.Write "<TD>" & RS("Name_FR") & "</TD>"
  18.      Response.Write "<TD>" & RS("Description") & "</TD>"
  19.      Response.Write "</TR>"
  20.      RS.MoveNext
  21. LOOP
  22. Response.Write "</TABLE>"
  23. RS.Close
  24. Set RS = nothing
  25.  
  26. MyCon.Close
  27. Set MyCon = nothing
  28. %>

Maintenant dans le fichier «recherche.asp» suivant si on veut créer un formulaire demandant d'effectuer une recherche en fonction du CIN 000 ou 075, on aura le script :

  1. <%
  2. SELECT CASE Request.Form("cmdAction")
  3.      CASE "Rechercher"
  4.           Set MyCon = Server.CreateObject("ADODB.Connection")
  5.           MyCon.ConnectionString = "DSN=mabasededonnes_db;UID=root;PWD="
  6.           MyCon.Open
  7.           
  8.           Response.Write "<TABLE Border=1 bordercolor=""#000000"" CellSpacing=0>"
  9.           Response.Write "<TR>"
  10.           Response.Write "<TD><B>Nom francais</B></TD>"
  11.           Response.Write "<TD><B>Nom anglais</B></TD>"
  12.           Response.Write "<TD><B>Description</B></TD>"
  13.           Response.Write "</TR>"
  14.           
  15.           Set RS = MyCon.Execute("SELECT * from cdmworkgroup where Cin='" & Request.Form("MonCIN") & "'")
  16.           DO WHILE Not RS.EOF
  17.               Response.Write "<TR>"
  18.               Response.Write "<TD>" & RS("Name_EN") & "</TD>"
  19.               Response.Write "<TD>" & RS("Name_FR") & "</TD>"
  20.                Response.Write "<TD>" & RS("Description") & "</TD>"
  21.                Response.Write "</TR>"
  22.                RS.MoveNext
  23.           LOOP
  24.           Response.Write "</TABLE>"
  25.           RS.Close
  26.           Set RS = nothing
  27.           
  28.           MyCon.Close
  29.           Set MyCon = nothing
  30.       CASE ELSE
  31.           Response.Write "<form name=""frmCurrEdit"" method=""post"" action=""recherche.asp"">"
  32.           Response.Write "Votre CIN de recherche: "
  33.           Response.Write "<SELECT name=MonCIN>"
  34.           Response.Write "<OPTION value=""000"">000"
  35.           Response.Write "<OPTION value=""075"">075"
  36.           Response.Write "</SELECT><BR>"
  37.           Response.Write "<input class=bouton type=""submit"" name=""cmdAction"" value=""Rechercher"">"
  38.           Response.Write "</form>"
  39. END SELECT
  40. %>

L'exécution de script provoquera deux étapes d'exécutions, la première demandera le type de recherche comme suit:

Votre CIN de recherche:

Si l'utilisateur choisi «000» le résultat sera le suivant :

Nom français Nom anglais Description
Développement Coder Groupe de programmeur effectuant de la recherche et développement (R&D).
Maintenance Maintenance Groupe maintenant les divers services réseaux, implantant les développements, maintenant l'état actuel du matériel et administratant les accès.
Direction Direction Direction Groupe de travail s'occupant des divers orientations à prendre sur les projets et les produits.

Par contre, si l'utilisateur choisi «075» le résultat sera le suivant :

Nom français Nom anglais Description
Test Teste Groupe désigné pour le contrôle de la Qualité


Dernière mise à jour : Jeudi, le 17 janvier 2019