ADO Requetes

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 6

Spécialité : TS Base de données

Chapitre : ADO
Module : Delphi Réseaux

Thème : les requêtes sous Delphi (Adoquery)

1) Le composant AdoQuery:
a) Définition : L e composant AdoQuery (palette Ado) permet d’effectuer une sélection sur
une base de données en utilisant les requêtes SQL
b) Propriétés principales:
Propriété Description
Connection Nom de la base de données interrogée
SQL La requête SQL
Parameters Paramètres de la requête
Active Exécute ou non la requête

Remarque:
La propriété SQL du composant Adotable permet de conserver la requête SQL.
Elle peut être modifiée par l’inspecteur d’objet ou par code.
Par inspecteur d’objet :

Par code:

Adoquery1 . SQL. clear; / / initi alise le contenu de la propriété SQL


Adoquery1 .SQL. Add(' Requête’);
Adoquery1 . Acti ve: =True;// ou Adoquery1. Open;

INSFP BISKRA 1 FORMATRICE : Melle Douida Nadia


Exemple01:
On veut afficher la liste des Filles de la table Stagiaire de la base de données ‘scolarité.accdb’
Etapes:
1. Créer une nouvelle fiche avec les composants suivants :

2. Modifier les propriétés des composants comme suit :

Palette Composant Propriété Valeur


Adoconnection1 ConnectionString D:\...\scolarité.accdb
ADO
AdoQuery1 Connection Adoconnection1

SQL … Select * From stagiaire


Where Sexe=’F’

Active True
AccesBD Datasource1 Dataset Adoquery1
Dbgrid1 Datasource Datasource1
ControleBD
Dbnavigator1 Datasource Datasource1
3. Le résultat :

4. Modifier la requête dans la propriété SQL du composant Adoquery 1 pour :


 Afficher les sections en mode Apprentissage
 Afficher les sections ouvertes en Février 2019
Exercice01:
Réaliser l’application suivante, qui permet d’affecter la valeur de la propriété SQL par code :

4. Requête avec paramètres (requête dynamique):


Une requête paramétrée ou dite dynamique est une requête qui utilise un critère variable de sélection ;
c'est-à-dire qu’elle utilise un paramètre (une variable) dans la partie Where.
Syntaxe:

Select champs1, champs2,… from table1


Where champ= :Nom_paramètre

Remarque:
- Les deux points qui précèdent le nom de paramètre indiquent que c’est un paramètre.
Le passage des valeurs de paramètres:
Le passage des valeurs de paramètres de la requête s’effectue pendant l’exécution, après un événement
(clic sur un Bouton, changement du contenu d’un Edit, sélection d’un élément dans un Combobox,…etc).
Dans l’événement approprié, on écrit le code comme suit :

AdoQuery1.close ;
AdoQuery1.parameters.parambyname('Nom_param1').value:= valeur1
AdoQuery1.parameters.parambyname('Nom_param2').value:= valeur2 Passage des valeurs
…………………………………………………………………… :=……….. aux paramètres
AdoQuery1.parameters.parambyname('Nom_paramN').value:= valeurN
AdoQuery1.active:=true; {Exécuter la requête}
Exemple:
On veut afficher la liste des Sections selon la valeur de Mode que l’ utilisateur
sélectionne dans un Combobox , comme suit:

Donc on utilise une variable C, qui contiendra à chaque fois une valeur différente de Mode
Etapes:
1. Ecrire la requête dans la propriété SQL d’Adoquery1 comme suit:

SQL : Select * From Section Where mode = :C

2. Déterminer le type de paramètre (C) : Le paramètre doit avoir un type compatible au type
du champ utilisé dans la comparaison. On donne un type au paramètre par la propriété
Parameters d’AdoQuery comme suit:

3. Passage de la valeur de paramètre (C): dans la propriété Items de Combobox1 on écrit les
valeurs : Apprentissage, Résidentiel, Passerelle. Et dans l’événement Onchange de Combobox1,
on écrit :
AdoQuery1.close ; AdoQuery1.parameters.parambyname('C').value:=combobox1.text; AdoQuery1.active:=tr

Exercice02:
1. Créer une nouvelle fiche ‘Requête dynamique’ dans le projet Requetes.dpr
2. En utilisant ‘Adoquery’, Afficher les stagiaires dont date de naissance est entre date1 et
date2saisies dans Edit1 et Edit2
4- Requêtes contenant des champs calculés:
On peut introduire un champ calculé dans une requête en le mentionnant dans la partie select avec les
champs fixes. Et cela en donnant le nom du champ précédé de la formule qui le calcule.
Syntaxe:
Select champ1,champ2,.., (Formule de calcul) As Le nom_de_champ_calculé From table1

Remarque:
Le champ calculé va apparaitre dans le DbGrid seulement, i l n’ est pas stocké dans la
base de données.
Exemple01:
On veut calculer Montant de chaque produit à savoir sa quantité en stock et son prix unitaire :
Etapes :
1) Dans la propriété SQL d’Adoquery1 écrire la requête suivante :

Select Num_Prod, désignation, Qt_stock, prix_unit, (Qt_stock * prix_unit) as Montant From produits

Formule de calcul Le nom de champ calculé

2) Mettre la propriété Active d’Adoquery1 à true


Exercice:
En utilisant un composant Adoquery, calculer le Montant Total
Montant_Tota=∑ Montant

Vous aimerez peut-être aussi