Code ASP

publicité
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).actualsizetaille 1ère rubrique
rs.fields.item(1).actualsizetaille 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> </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   c'est à dire un espace
Fermeture de la connexion
Téléchargement