SQL dans Delphi
Article publié le Lundi 20 octobre 2025 , lu 16 fois
Introduction
Delphi (Embarcadero) combine l’IDE RAD et le langage Object Pascal pour construire des applications natives. Pour l’accès aux données relationnelles, Delphi fournit FireDAC, une couche d’accès universelle et performante qui supporte SQLite, MySQL, PostgreSQL, SQL Server, Oracle, etc.
Rôle du SQL dans Delphi
Le SQL est utilisé pour :
- Créer et maintenir la structure des bases (CREATE, ALTER, DROP)
- Manipuler les données (INSERT, UPDATE, DELETE)
- Interroger et agréger (SELECT, JOIN, GROUP BY)
- Contrôler l’intégrité via des transactions
Dans Delphi, on exécute ces instructions via les composants FireDAC et on peut lier facilement les résultats à des contrôles visuels (DBGrid, DBEdit, TChart...).
Composants FireDAC essentiels
| Composant | Rôle |
|---|---|
| TFDConnection | Gère la connexion (driver, params, connexion/déconnexion). |
| TFDQuery | Exécute du SQL (SELECT / ExecSQL) et retourne des jeux de résultats. |
| TDataSource | Relie un TDataSet (TFDQuery) à des composants visuels. |
| TFDTable | Accès direct à une table (CRUD simple). |
Connexion basique (ex. SQLite)
Remarque : FireDAC peut créer un fichier SQLite si le chemin est un fichier .db inexistant.
Requêtes : SELECT, INSERT, UPDATE, DELETE
SELECT (lecture)
INSERT (écriture)
UPDATE
DELETE
Transactions SQL
Pour garantir la cohérence sur plusieurs opérations :
Paramétrage et sécurité
Utilise systématiquement des requêtes paramétrées (:nomParam) pour :
- Éviter les injections SQL
- Améliorer le parsing réutilisable des plans d’exécution
- Garder une séparation claire entre logique et données
Bonnes pratiques
- Utiliser des transactions pour les opérations multiples.
- Fermer les jeux de résultats (Close) quand ils ne sont plus nécessaires.
- Utiliser des index sur les colonnes filtrées fréquemment (WHERE, JOIN).
- Paginer les requêtes lourdes (LIMIT / OFFSET ou techniques spécifiques au SGBD).
- Loguer les erreurs et exceptions SQL côté serveur ou application.
Cas d’usage
Delphi + SQL est adapté pour :
- Applications bureautiques et métiers (ERP, gestion)
- Applications embarquées et industrielles avec stockage local (SQLite)
- Backends REST, API et microservices (WebBroker, Horse, RAD Server)
Exemple complet : création et insertion (SQLite)
Résumé
FireDAC rend l’usage du SQL dans Delphi simple, portable et performant. Que tu travailles avec un fichier SQLite local ou avec une base distante (PostgreSQL, MySQL, SQL Server), la logique d’accès reste la même : configurer la connexion, préparer des requêtes paramétrées, utiliser des transactions et lier les résultats aux composants visuels.