Page 1 1 Ouverture de la Connexion 2 Sélection d'une base de données 3 4 5 6 7 Requête pour afficher, ajouter, supprimer, modifier le contenu d'une ou plusieurs tables de la base de données choisie Requête de Création d'une nouvelle table dans la base de données choisie Requête de Suppression d'une table de la base de données choisie Requête de modification de la structure d'une table de la base de données choisie Affichage de la liste des tables de la base de données choisie Exécution de la requête 8 9 Affichage du nombre d'enregistrements concerné par la requête 10 Affichage du nombre et du nom des rubriques (champs) concerné par la requête 11 Affichage de la valeur de la rubriques (champs) concernée par la requête 12 Affichage de la taille d'une rubrique en particulier 13 Affichage du type d'une rubrique en particulier Type=caractère, numérique, date etc… 14 Fermeture de la connexion Page 2 ASP Gestion de base de données Code ASP num Set objc=Server.CreateObject("ADODB.Connection") 1 2 objc est la variable ne votre choix Base="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.MapPath("repertoire/bd.mdb")&";PWD=;" Commentaires Connexion Sélection de la base de données Ouverture d'une base de données nommée bd.mdb dans le sous-dossier : repertoire objc.open base r1="select rubrique,rubrique2 from table where condition" condition = rubrique signe(=, <>, <, >) contenu r1 est la variable ne votre choix r1="delete from table where condition" Exemple de condition Prix<=200 ou DateInscription>#01/01/2000# Requête de sélection Exemple Select nom from client where ville='nice' Pour sélectionner les clients niçois Requête de suppression Exemple 3.3 r1="insert into table (rubrique1,rubrique2) values (contenu rubrique1,contenu rubrique2) where condition" si rubrique1 est de type texte alors mettre entre apostrophes: 'contenu rubrique1' 3.4 r1="update table set rubrique1=contenu1, rubrique2=contenu2 where condition" si contenu rubrique1 est de type texte alors mettre entre apostrophes: 'contenu1' 4 r1="create table nom de la table (rubrique1 type (taille) option, rubrique2 type (taille) option…)" type: char pour caractère, int pour entier float pour décimal, datetime pour date et heure Option : null ou not null ou primary key (rubrique1,rubrique2) r1="drop table nom de la table à supprimer" Requête d'ajout Exemple Insert into client (nom,age) values ('Dupond',40) Pour ajouter monsieur Dupond de 40 ans Requête de mise à jour Exemple Update client set age=age+1 where nom='dupond' Pour ajouter 1à l'age de Dupond Requête création d'une nouvelle table Exemple Create table client (nom char(15) not null, age int) Pour ajouter la table client contenant les rubriques nom de type chaîne et age entier Requête suppression d'une table Exemple drop table client Pour supprimer la totalité de la table client Requête modification structure de la table Exemple Alter table client add datenais date Pour ajouter la rubrique datenais de type Date à la table client , la taille n'est pas indiquée pour les rubriques de type Date Boucle de récupération de la liste des tables d'une base de données ListeTable("table_name") contient le nom de la table 3.1 3.2 5 6 r1="alter table nom de la table caractéristique"; caractéristique=add rubrique type (taille) pour ajouter une rubrique à la table ou drop rubrique pour supprimer une rubrique de la table 7 set ListeTable =objc.OpenSchema(20) Do while not ListeTable.eof If ListeTable("table_type")="TABLE" then rem utilisez ListeTable("table_name") rem pour exploiter le nom des tables End If ListeTable.MoveNext Loop ListeTable est la variable de votre choix 8 set rs=objc.execute(requete,,Num) rs est la variable de votre choix objc est la variable de connexion requete contient le texte de la requête SQL num=1 si commande SQL num=2 si table dans la base de données num=4 si requête dans la base de données delete from client where achat<>'télé' pour supprimer les clients n'ayant pas acheté une télé ListeTable("table_type") peut contenir le mot TABLE ou le mot VIEW pour une requête MoveNext indique le passage à la fiche suivante Permet d'exécuter la requête Exemple: r1="delete from client where nom like 'A*'" set rs=objc.execute(r1,,1) supprime les clients dont le nom commence par un A Page 3 ASP Gestion de base de données num 9 10.1 10.2 10.3 Code ASP r1="select count(*) as nombre from table where condition(s)" set rs=objc.execute(r1,,1) rs("nombre") contient le résultat NbRubrique=rs.fields.count NbRubrique est la variable de votre choix rs.fields.item(0).name--nom de la 1ere rubrique rs.fields.item(1).name- nom de la 2ème rubrique etc… r1="select * from achats" set rs=objc.execute(r1,,1) nb=rs.fields.count for i=0 to nb-1 Commentaires Requête statistique Affichage du nombre d'enregistrements concerné par la requête Affichage du nombre de rubriques (champs) concerné par la requête Affichage du nom des rubriques (champs) concerné par la requête Boucle d'affichage du nom de l'ensemble des rubriques de la table Achats rem exploitation des rubriques avec rs.fields.item(i).name 11 12 next rs.fields.item(0).value-contenu de la 1ère rubrique rs.fields.item(1).value-contenu de la 2ème rubrique on peut aussi utiliser rs("nom") ou rs("prix") etc… si ce sont des rubriques de la table rs.fields.item(0).actualsizetaille 1ère rubrique rs.fields.item(1).actualsizetaille 2ème rubrique on peut aussi utiliser rs("nom").actualsize rs.fields.item(0).type-type de la 1ère rubrique on peut aussi utiliser rs("nom").type Affichage du contenu des rubriques Do while not rs.eof Rem affichage des noms avec rs("nom") rs.movenext Loop Affichage de la taille de la rubrique 14 objc.close:set objc=nothing Type de donnée possible 3= entier long, 6= monétaire , 135=date , 200 =texte Fermeture de la connexion E X E M P L E <html><body bgcolor=pink> <%set db= Server.CreateObject("ADODB.Connection") //connexion 13 Base="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.MapPath("base/bd.mdb")&";PWD=;" db.open base r1="select * from achats"; //selection de la base de données set rs=db.execute(r1,,1) //selection de tous les champs et exécution de la requête r1="select count(*) as nb from achats"; set rs=db.execute(r1,,1) %> nombre : <b><%=rs("nb")%></b> <%r1="select * from achats"; //affichage du nombre d'enregistrement set rs=db.execute(r1,,1)%> nombre de rubriques<%=rs.fields.count%><br> <table border=1><tr bgcolor=white> <%for k=0 to rs.fields.count-1%> <td><b><%=rs.fields.item(k).name%> </b></td> <%next%> </tr> <%do while not rs.eof%> <tr> <%for k=0 to rs.fields.count-1%> <%if isNull(rs.fields.item(k).value) then%> <td>&nbsp;</td> <%else%> <td><%=rs.fields.item(k).value%></td> <%end if%> <%next%> </tr> <%rs.movenext loop%> </table><%db.close:set db=nothing%><body></html> //affichage du nombre de rubriques concerné // affichage du contenu dans un tableau Boucle d'affichage du nom des rubriques Boucle d'affichage du contenu Test de la longueur du champ, si égale à 0 Alors on affiche &nbsp; c'est à dire un espace Fermeture de la connexion