Sign in Join
Wiki copytemporary

SQLdb Package/fr: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11The SQLdb package contains FPC units to access a number of SQL databases. It is "packaged" as sqldblaz.lpk in Lazarus, and the components can be found on the [[SQLdb tab]].
22
3-<figure>
4-<img src="sqldbcomponents.png‎" title="sqldbcomponents.png‎" />
5-<figcaption>sqldbcomponents.png‎</figcaption>
6-</figure>
3+![](/wiki-images/c/c5/Sqldbcomponents.png%E2%80%8E)
74
85# Documentation
96
107Voir la [documentation SQLDB](http://www.freepascal.org/docs-html/fcl/sqldb/index.html)
118
129# Composants
1310
1411Le paquet SQLdb fournit les composants suivants :
1512
1613## TXXXConnection
1714
1815Documentation : voir la [documentation TSQLConnection](http://www.freepascal.org/docs-html/fcl/sqldb/tsqlconnection.html)
1916
2017Il y a divers composants de connexion appelés TXXXConnection,où XXX est la base de données à laquelle vous êtes connectés. Chacun de ces composants prend les requêtes des composants SQLQuery et SQLTransaction et les traduit dans des requêtes spécialement taillées pour la base de données que vous utilisez. Ces cobjets de connexion descendent de la classe de base TSQLConnection ; vous pouvez utiliser TSQLConnection pour créer des programmes de base de données qui peuvent se connecter à des multiples SGBDR (voir [[SQLdb Tutorial3/fr|Tutoriel 3 de SQLdb]].
2118
2219Les composants actuels sont :
2320
2421- TIBConnection ([[Firebird/fr|Borland Interbase / Firebird]])
2522- TMSSQLConnection ([[mssqlconn/fr|Microsoft SQL Server]], disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
2623- TMySQL40Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 4.0)
2724- TMySQL41Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 4.1)
2825- TMySQL50Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 5.0)
2926- TMySQL51Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 5.1, disponible depuis FPC version 2.5.1)
3027- TMySQL55Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 5.5, disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
3128- TODBCConnection (Une connexion ODBC vers une base de données pour laquelle le PC a les pilotes ; voir [[ODBCConn/fr|ODBCConn]])
3229- TOracleConnection ([[Lazarus Database Overview/fr|Oracle]])
3330- TPQConnection ([[postgres/fr|PostgreSQL]])
3431- TSybaseConnection ([[mssqlconn/fr|Sybase ASE]], disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
3532- TSQLite3Connection ([[SQLite/fr|SQLite]], disponible depuis FPC version 2.2.2)
3633
3734## TSQLTransaction
3835
3936Documentation : voir la [documentation TSQLTransaction](http://www.freepascal.org/docs-html/fcl/sqldb/tsqltransaction.html).
4037
4138Ceci encapsule la transaction sur le serveur de base de données. Un objet TXXXConnection demande toujours au moins un TSQLTransaction associé avec, ainsi la transaction de ses requêtes est gérée. Les requêtes/actions sur la base de données dont besoin d''être encapsulées dans :
4239
4340- un bloc .StartTransaction/.Commit (ou .Rollback)
4441- ou un simple .StartTransaction au début, suivi de .CommitRetaining ou .RollBackretaining. CommitRetaining et RollbackRetaining conservent la transaction ouverte, ainsi il n'est pas nécessaire de démarrer une autre transaction.
4542
4643Définir .Active à True si elle est à False est équivalent à appeler .StartTransaction.
4744
4845Définir .Active à False si elle est à True est équivalent à *.Rollback*.
4946
5047## TSQLQuery
5148
5249Documentation : voir [TSQLQuery](http://www.freepascal.org/docs-html/fcl/sqldb/tsqlquery.html).
5350
5451C'est un descendant de TDataset, et fournit les données comme une table depuis la requête SQL que vous avez soumis. Néanmoins, il peut aussi être utilisé pour executer des requêtes SQL (p.ex. des procédures stockées , INSERT INTO..) qui ne retournent aucune donnée. Voir [[Working With TSQLQuery/fr|travailler avec TSQLQuery]] pour plus de détails.
5552
5653# Utilisation du paquet SQLdb
5754
5855Pour utiliser le paquet SQLdb, vous avez besoin d'un composant TSQLQuery, d'un composant TSQLTransaction et un des composants de connexion.
5956
6057Voici un tutoriel rapide :
6158
6259- Assurez-vous que vous avez un pilote/client pour la base de données concernée.
6360- Allez sur l'onglet SQLdb dans la palette de composants.
6461- Ajoutez un composant TXXXConnection (selon la base de donnée utilisée) à votre fiche et remplissez les propriétés appropriées pour vous connecter à la base de données. Celles-ci varient selon la base de données courante. Assurez-vous de pouvoir mettre la propriété *.Connected* à True.
6562- Ajoutez le composant TSQLTransaction. Revenez au composant Connection et et mettez sa propriété Transaction à la nouvelle transaction. Cela devrait aussi définir la propriété .Transaction du composant Database. Vous devriez pouvoir mettre .Active à True.
6663- Ajoutez un composant SQLQuery et définissez sa propriété Database avec le composant Connection que vous venez d'ajouter.
6764- Définissez la propriété "SQL". Pour un premier essai, faites juste un "select * from \<tablename\>".
6865- Mettez Active à True. Si cela fonctionne, vous avez ouvert la requête et les données sont disponibles.
6966
7067A partir de là, l'ajout des contrôles est le même qu'avec tout autre base de données, soit juste pour rappeler :
7168
7269- Ajoutez un composant TDataSource (de l'onglet Data Access) et définissez sa propriété DataSet avec le composant TSQLQuery
7370- Ajoutez quelques contrôles depuis l'onglet Data Controls. Pour vérifier rapidement, ajoutez un composant TDBGrid et définissez sa propriété DataSource avec la DataSource tout juste ajoutée. Vous devriez pouvoir voir les données provenant de la requête que vous avez entrée.
7471
7572Bien sûr, cela est juste un début, mais l'obtention de données dans un DBGrid est en général la première étape pour assurer que la connexion à la base de données fonctionne. Plus d'explications détaillées seront trouvées à [[Working With TSQLQuery/fr|Travailler avec des TSQLQuery]] et [[SQLdb Tutorial1/fr|Tutoriel SQLdb 1]].
7673
7774# Voir aussi
7875
7976- [[SqlDBHowto/fr|Comment faire en SQL ?]]
8077- [[SQLdb Programming Reference/fr|Référence de programmation SQLdb]]
8178- [[Databases/fr|Bases de données]]
8279- [Vue de l'interface des classes (en)](http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=index-4&unit=sqldb)
8380- [some additional documentation/notes Quelles docs/notes en plus (en)](http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=fcldbnotes)
84-
85-\
8681
8782---
8883*From the Free Pascal wiki, page "SQLdb Package/fr", as it stood on 2017-07-19 after a change by E-ric, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history