Vous êtes sur la page 1sur 2

Spécialité : BDD (S3) INSFP de Médéa

Module: Delphi Année: 2021/2022

Chapitre 05: SQL Sous Delphi

A la fin de ce chapitre, vous serez capable de :


 Connaître les composants SQL de Delphi
 Créer des requêtes SQL pour les bases de données

1. SQL c’est quoi ?


L’abréviation SQL signifie Structured Query Language c’est à dire « langage Structuré
de requête ». C’est un langage standard utilisé pour construire des requêtes et pour accéder
aux systèmes de bases de données de différents types. La plupart des langages qui mettent en jeu
les bases de données intègrent le SQL pour permettre une manipulation efficace des données.
Delphi, dans toutes ces versions intègre le SQL que ça soit pour les bases de données
locales ou pour les bases de données Client/Serveur.
Nous n’allons pas étudier le SQL autant que tel, mais nous nous limitons uniquement
sur l’utilisation des requêtes SQL sous Delphi à travers les composants intégrés.

SQL pour Delphi :


Une façon simple d’utiliser le SQL pour la manipulation des enregistrements est d’utiliser le
composant TQuery dans la palette BD de Delphi.
Les composants requête de la classe (TQuery) peuvent être utilisés avec des serveurs de base
de données distants comme Sybase, SQL Serveur, InterBase et Informix et avec des Tables Locales
DBase, Paradox, ADo, etc.
Les composants requête nous permettent :
- D’accéder à plusieurs tables à la fois pour réaliser une jointure.
- D’accéder automatiquement à un sous-ensemble des lignes et colonnes des tables.

Instruction SQL sous Delphi :


Pour construction d’une requête, SQL utilise un jeu d’instruction très simple.

Structure d’une requête :


Select <Champ1>, <Champ2>, ...
From <NOM_Ensemble_de_données>
Where <Condition>
Order By <Chaps_de_tri>

a. Select: Ce mot réservé désigne les champs de la base de données sur lesquels porte la requête.
On considère une table Etudiant Possédant les champs suivant : Num, Nom, Prénom, Sexe
Select Nom, Prénom (Les champs à sélectionner sont séparés par des virgules).

b. From : Il désigne la table de notre base de données sur la quelle porte la requête.
From Etudiant (Etudiant est le nom de la table sur laquelle porte la requête).

c. Where: ce mot réservé définit les critères de sélection.


Where sexe = ‘Masculin’
Masculin est une valeur de type chaîne que peut prendre le champ Sexe, dans cet exemple le
critère est le sexe, c’est à dire qu’on doit sélectionner uniquement les étudiants de sexe masculin

d. Order By: ce mot réservé défini le critère de tri :


Order BY Nom (La liste obtenue doit être triée selon l’ordre alphabétique des noms)
Spécialité : BDD (S3) INSFP de Médéa
Module: Delphi Année: 2021/2022

Exemple de requête :
Question: sélectionner tous les noms et prénoms des étudiants dans le fichier Etudiant.dbf, qui sont
de sexe masculin, et les trier selon l’ordre alphabétique des noms.

Réponse : Select nom, prenom


From Etudiant
Where Sexe= ‘masculin’
Order By Nom

Remarque : Seuls les instructions Select et From sont obligatoire dans une requête, les autres
(Where, Order By) sont facultatives

1. Créer une requête sous Delphi :


Auparavant il faut disposer d’une base de données et d’un alias.
 Placer un composant Query et un composant DataSource dans la fiche.
 Attribuer la valeur Query1 à la propriété DataSource du composant DataSource1.
 Pour le composant Query1il faut fixer le nom de l’alias contenant la base de données sur
laquelle portera la requête et cela dans la propriété Connection.
 Saisir la requête, pour cela il faut cliquer sur le bouton trois points ‘…’ situé à droite de la
propriété SQL du composant Query1, et dans la fenêtre de l’éditeur qui s’affiche, saisir la
requête qui convient, puis cliquer sur Ok pour valider et fermer l’éditeur.
 Placer un composant DBGrid sur la fenêtre qui servira pour afficher le résultat de la
requête. Attribuer la valeur ‘DataSource1’ pour la propriété DataSource de ce composant.
 Sélectionner le composant Query1 sur la fiche et attribuer la valeur ‘True’ pour la propriété
Active. Le résultat de la requête s’affiche immédiatement si la requête ne comporte pas
d’erreurs.

2. Instruction SQL sur plusieurs Tables de base de données :


Les instructions SQL peuvent concerner une ou plusieurs tables de base de données, la syntaxe des
instructions doit préciser la provenance des champs

Exemple :
On considère la base de données (table) Etudiant.dbf ayant comme champs : NumE, Nom, Prenom,
Sexe et la Base de données (table) Note.Dbf ayant comme champs : NumE, NoteF, Observation.

On établi alors la requête suivante :


Select Nom, Prenom, code_fact {1}
Where client.code_cl=facture.code_fact

-Cette requête recherche tous les noms et prénoms des étudiants avec leurs notes correspondantes.
-On voit ici {1}, qu’on précise la provenance de chaque champ, Nom et prénom appartiennent à la
base de données Etudiant.dbf et NoteF appartient à la base de données Note.dbf.

Conclusion
Utiliser SQL est la meilleure manière d’interroger la base de données, avec des instructions
simples, il offre des possibilités d’utilisation avec les bases de données énormes, pour cela des
ouvrages traitant le SQL, vous apprendrez plus de chose.

Vous aimerez peut-être aussi