Vous êtes sur la page 1sur 29

Chapitre 2

Applications avec bases de données BDE

Cours préparé et animé par A. MOHAMMEDI 1


CRÉATION D’UNE ALIAS DE BASE DE DONNÉES
• Delphi propose un module base de données pour simplifier la
création des alias de BD.
• Pour accéder au module BD (nommé aussi BDE : Borland Database
Engine) on choisit dans le menu: Outils --> module base de données.
• Un alias est un chemin logique qui localise et donne la possibilité
d’accès à la BD. Un alias représente une base de données ainsi que les
informations de configuration de cette dernière.
• Pour créer un nouveau alias on procède comme suite :
• Dans le menu du BDE on choisit : outils gestionnaires d’alias.
Ensuite dans la fenêtre du gestionnaire des alias on procède comme suite :
CRÉATION D’UNE TABLE
• Dans le menu BDE on choisit : fichier  nouveau  table.
• Ensuite On choisit le SGBD par défaut « paradox 7 » et on clique sur
ok.

On définit la structure de la table dans la fenêtre suivante :


• Ensuite, et dans la fenêtre suivante on enregistre la table comme
suite :
CONNEXION ET AFFICHAGE D’UNE BASE DE
DONNÉES DANS UNE FICHE
• Insérer de la palette BDE le composant « Table1 » et manipuler ses
propriétés :

• Pour afficher la table on doit insérer de la palette Accesbd le composant « datasource1» et


choisir dans sa propriété :

• Insérer de la palette Contrôlebd le composant « Dbgrid1 » et choisir dans sa propriété :


LES CHAMPS CALCULÉES ET LES BOUCLES
DANS UNE BD
1- Dans le module base de données (BDE) :
a- On commence par la création d’un nouveau alias nommé
"tp_facture" par exemple
b- Dans cet alias on crée la table suivante :

c- On enregistre cette table dans l’alias "tp_facture" sous le


nom : « produit » par exemple.
2- Dans une fiche Delphi on insère les composants suivants :

3- Pour introduire le champ calculé « Total » dans la table produit on


procède comme suite : On double clique sur le composant table1, et
dans la petite fenêtre blanche qui s’affiche :
4- Dans l’inspecteur d’objet du table1 on lance la procédure de
l’événement : Oncalcfield
Et on écrit dans la procédure :
table1.fieldbyname(‘total’).ascurrency := table1.fieldbyname(‘quantite’).asfloat *
table1.fieldbyname(‘prix’).ascurrency ;
5- Tapez F12 et pour calculer le montant global de ces produits on double clique sur le Bouton1 et on
écrit dans sa procédure : (Supprimer le begin et end de la procédure et coller tous le code source suivant)
var somme : real;
begin
somme := 0;
table1.first; // se pointer vers le premier enregistrement de la table
while not(table1.eof) do // tantque on est pas arriver à la fin de la table
begin
somme := somme + table1.fieldbyname('total’).ascurrency; // cumul des totaux
table1.next; // passer à l’enregistrement suivant.
end;
edit1.text := floattostr(somme); // afficher le cumul des totaux dans le comosant edit1
end ;
LE DBNAVIGATOR
Un DBNavigateur Contient toutes les opérations de base sur une source de données (table ou requête)
• On insère le composant DBNavigator1 de la palette contrôleBD.
• Pour le connecter à une source de données on choisit dans sa
propriété :
• Pour afficher l’éxplication (sous forme d’info-bulls) de chaque bouton
du DBNavigateur1 on choisit dans sa propriété :
LES INDEX SECONDAIRES ET LEURS
UTILISATIONS
1- dans le Module base de données créez la table suivante :

Avant d’enregistrer cette table et Pour insérer des index secondaires pour chaque champ on procède
comme suite :
Répéter les opérations : 2, 3, 4,5 ,6 ,7 pour les autres champs de la tables
On peut proposer par exemple les noms d’index secondaires comme suite :
Designation : c2
Quantite : c3
Prix : c4

2- A la fin on aura l’affichage suivant :


LES REQUETES SQL LES PLUS UTILISÉES
1- Requête simple :
Soit la table produit (code, designation, quantite_stock, prix_unité,
type_produit)
On veut sélectionner tous les champs et enregistrements de cette table
• Syntaxe :
select *
from produit
Pour exécuter ce script on insère un composant Query (palette
accèsBD) et on manipule ses propriétés :
2- requête avec paramètre :(requête dynamique) :
Si on veut que la valeur du critère de sélection soit variable :
Exemple : à chaque fois on donne une valeur et on sélectionne les quantités supérieures à cette
valeur donc on doit avoir une variable qui contiendra à chaque fois une valeur différente :
• Syntaxe :
select *
from produit
where type_produit = :c
• Remarque1:
- le paramètre ici est nommé C et les deux points qui le précède indiquent que c’est un paramètre.
- le paramètre en suite doit avoir un type adéquat (compatible au type du champ utilisé dans la
comparaison). On donne un type au paramètre par la propriété :
• Remarque2:
Il faut choisir après un événement adéquat pour donner une valeur au
paramètre par les instructions suivantes :
Query1.close ;
Query1.parambyname('c').asstring:=combobox1.text;
Query1.active:=true;
Pour cela on peut insérer un composant Combobox1 (palette standard)
et écrire dans sa propriété Items les valeurs :
matériel, consommables, meuble. Ensuite on double clic sur ce
composant et on introduit le code source précédant.

Vous aimerez peut-être aussi