SQLdb Programming Reference/fr

From Free Pascal wiki
Revision as of 08:09, 17 October 2016 by Gillou58 (talk | contribs)
Jump to navigationJump to search

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

Databases portal

References:

Tutorials/practical articles:

Databases

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

Documentation

Veuillez consulter la documentation officielle sur SQLDB documentation.

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 SQLdb Tutorial4.