SQLdb Package/fr

From Free Pascal wiki
Revision as of 13:22, 14 July 2017 by E-ric (talk | contribs)
Jump to navigationJump to search

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

The 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.

sqldbcomponents.png

Documentation

Voir la documentation SQLDB

Composants

Le paquet SQLdb fournit les composants suivants :

TXXXConnection

Documentation : voir la documentation TSQLConnection

Il 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 Tutoriel 3 de SQLdb.

Les composants actuels sont :

  • TIBConnection (Borland Interbase / Firebird)
  • TMSSQLConnection (Microsoft SQL Server, disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
  • TMySQL40Connection (MySQL, demande la bibliothèque client MySQL 4.0)
  • TMySQL41Connection (MySQL, demande la bibliothèque client MySQL 4.1)
  • TMySQL50Connection (MySQL, demande la bibliothèque client MySQL 5.0)
  • TMySQL51Connection (MySQL, demande la bibliothèque client MySQL 5.1, disponible depuis FPC version 2.5.1)
  • TMySQL55Connection (MySQL, demande la bibliothèque client MySQL 5.5, disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
  • TODBCConnection (Une connexion ODBC vers une base de données pour laquelle le PC a les pilotes ; voir ODBCConn)
  • TOracleConnection (Oracle)
  • TPQConnection (PostgreSQL)
  • TSybaseConnection (Sybase ASE, disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
  • TSQLite3Connection (SQLite, disponible depuis FPC version 2.2.2)

TSQLTransaction

Documentation : voir la documentation TSQLTransaction.

Ceci 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 :

  • un bloc .StartTransaction/.Commit (ou .Rollback)
  • 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.

Définir .Active à True si elle est à False est équivalent à appeler .StartTransaction.

Définir .Active à False si elle est à True est équivalent à .Rollback.

TSQLQuery

Documentation : voir TSQLQuery.

C'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 travailler avec TSQLQuery pour plus de détails.

Utilisation du paquet SQLdb

To use the SQLdb package, you need a TSQLQuery component, a TSQLTransaction component, and one of the connection components.

Here is a quick tutorial:

  • Make sure you have the relevant database client/driver installed.
  • Go to the SQLdb tab in Component Palette.
  • Add a TXXXConnection component (suitable for the type of database you are using) to a form, and fill in the appropriate properties to connect to your database. These will vary depending on the actual database. Make sure you can set the "connected" property to true.
  • Add a TSQLTransaction component. Return to the Connection component, and set its Transaction Property to the new transaction. This should also set the transaction's database property. You should be able to set active to true.
  • Add an SQLQuery component and set its Database property to the connecton component you just added.
  • Set the SQLQuery "SQL" property. For a first test, just do a "select * from <tablename>".
  • Set active to true. If this works, you have opened your query, and the data is available.

From here on, adding controls is the same as for any database, but just to recap:

  • Add a TDatasource component (from the Data Access tab) and set its dataset property to the SQLQuery component
  • Add some controls from the Data Controls tab. For a quick check, add a TDBGrid component, and set its datasource property to the Datasource component you just added. You should see the data from the query you entered.

Of course, this is just the beginning, but getting some data in a grid is usually the first step to ensure the database connection is working. More detailed explanations will be found at Working With TSQLQuery and SQLdb Tutorial1.

Voir aussi