SQLdb Programming Reference/fr

From Free Pascal wiki

English (en) español (es) français (fr) 中文(中国大陆)‎ (zh_CN)

Portail de la base de données

Références:

Tutoriels/articles pratiques :

Bases de données

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos

Documentation

Veuillez consulter la documentation officielle sur la documentation SQLDB.

Cet article va tenter de donner davantage de détails sur SQLdb ; toutefois, la documentation officielle fait autorité.

Structure des classes

Le diagramme suivant montre la hiérarchie et les liens entre les PRINCIPAUX composants entrant en jeu dans SQLdb. Il n'est certainement pas exhaustif ni n'utilise de structure "propre" de diagramme, donc ne pensez pas y trouver trop. J'espère qu'il vous aidera à repérer quels morceaux du code source vous devez aller scruter pour vraiment en comprendre le fonctionnement.

Laz SqlDB components.png

Notes

  • Le lien de TDatabase vers TTransaction s'appelle Transactions. C'est une liste, ce qui implique que plusieurs transactions sont possibles pour une base de données donnée. Toutefois, un nouveau lien est défini de TSQLConnection vers TSQLTransaction, qui est Transaction - une transaction unique par base de données. Cela ne cache pas réellement le lien précédent, mais seul le nouveau lien est publié et il est en général déconseillé d'utiliser le lien de l'ancêtre.
  • Certains des liens hérités nécessitent d'être transtypés vers les nouveaux types pour être utilisables. Vous ne pouvez pas appeler SQLQuery.Transaction.Commit, puisque Commit est seulement définie dans TSQLTransaction. Appelez SQLTransaction.Commit, ou "(SQLQuery.Transaction as TSQLTransaction).Commit".

Interaction

TConnection

Documentation : TSQLConnection documentation

Un TConnection représente une connexion vers une base de données SQL. Habituellement, vous utiliserez le descendant correspondant à une base de données spécifique (par exemple, TIBConnection pour Interbase/Firebird), mais il est possible d'utiliser TConnection si vous essayez d'écrire des applications indépendantes de toute base de données (note : il est probablement plus avisé d'utiliser TSQLConnector). Dans cet objet, vous définissez les paramètres de connexion tels que nom d'hôte, nom d'utilisateur et mot de passe. Finalement, vous vous connectez ou déconnectez (en utilisant la propriété .Active ou .Connected).

La plupart des bases de données permettent de multiples connexions du même programme/utilisateur.

TSQLTransaction

Documentation : TSQLTransaction

Cet objet représente une transaction avec la base de données. En pratique, au moins une transaction doit être active pour une base de données, même si vous ne l'utilisez que pour y lire des données. Lorsque vous utilisez une transaction simple, affectez la propriété TConnection.Transaction à la transaction, pour définir la transaction par défaut pour la base de données ; la propriété TSQLTransaction.Database correspondante devrait alors pointer automatiquement vers la connexion.

Le fait d'affecter à une TSQLTransaction .Active/calling .StartTransaction démarre une transaction ; l'appel de .Commit ou .RollBack exécute (sauve) ou ignore (oublie/annule) la transaction. Vous devriez les utiliser pour encadrer vos transactions avec la base de données, à moins que vous utilisiez .Autocommit ou CommitRetaining.

TSQLQuery

Documentation : TSQLQuery documentation

Voir Working With TSQLQuery pour plus de détails.

TSQLQuery est un objet qui contient un dataset issu d'une paire connexion/transaction, utilisant sa propriété SQL pour déterminer quelles données sont transférées de la base de données vers le dataset.

Lorsque vous l'utilisez, vous devez donc spécifier au moins les propriétés transaction, connexion et SQL. Le TSQLQuery est un maillon important de la chaîne qui lie les contrôles à la base de données. La propriété SQL détermine quelle requête SELECT est exécutée envers la base de données pour recevoir les données. FPC essaiera de déterminer quelle commande SQL INSERT, UPDATE et DELETE correspondante doit être utilisée afin d'exécuter les modifications générées par l'utilisateur/programme. Si nécessaire, le programmeur peut régler cela finement et fixer manuellement les propriétés InsertSQL, UpdateSQL et DeleteSQL.

DataSource

Un objet TDataSource garde trace d'où se trouvent les composants liés aux données dans un dataset (comme TSQLQuery). Le programmeur doit spécifier l'objet TSQLQuery correspondant pour que cela fonctionne.

Contrôles liés aux données tels DBGrid

Ces contrôles doivent être liés à une DataSource. Ils possèdent souvent des propriétés indiquant quels champs de la DataSource ils affichent.

Data modules

Les Data modules peuvent être utilisés pour stocker des composants non visuels tels que T*Connection, TSQLTransaction, TSQLQuery, etc. Les Data modules vous permettent également de partager des composants entre fiches.

Voir aussi

  • SQLdb Tutorial0 : Instructions pour configurer les tables et les données d'exemple pour la série de tutoriels.
  • SQLdb Tutorial1 : 1re partie de la série de tutoriels sur les bases de données, montrant comment configurer un grid pour afficher les données.
  • SQLdb Tutorial2 : 2e partie de la série de tutoriels, montrant l'édition, l'insertion, etc.
  • SQLdb Tutorial3 : 3e partie de la série de tutoriels, montrant comment développer pour des bases de données multiples et utiliser une form de login.
  • SQLdb Tutorial4 : 4e partie de la série de tutoriels, montrant comment utiliser les data modules.
  • Vue d'ensemble des bases de données pour Lazarus : Information sur les bases de données supportées par Lazarus. Redirige vers des notes spécifiques à certaines bases de données.
  • Paquet SQLdb : Information sur le paquetage SQLdb.
  • Référence de programmation SQLdb : Une vue d'ensemble de l'interaction entre les composants de bases de données SQLdb.
  • SqlDBHowto : Information sur l'utilisation du paquet SQLdb.
  • Travailler avec TSQLQuery : Informations sur TSQLQuery.