Difference between revisions of "SQLdb Package/fr"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "{{SQLdb Package}} 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 t...")
 
 
(4 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
= Documentation =
 
= Documentation =
See [http://www.freepascal.org/docs-html/fcl/sqldb/index.html SQLDB Documentation]
+
Voir la [http://www.freepascal.org/docs-html/fcl/sqldb/index.html documentation SQLDB ]
  
 
= Composants =
 
= Composants =
The SQLdb package provides the following components:
+
Le paquet SQLdb fournit les composants suivants :
  
 
== TXXXConnection ==
 
== TXXXConnection ==
Documentation: see [http://www.freepascal.org/docs-html/fcl/sqldb/tsqlconnection.html TSQLConnection documentation]
+
Documentation : voir la [http://www.freepascal.org/docs-html/fcl/sqldb/tsqlconnection.html documentation TSQLConnection ]
  
There are various connection components called TXXXConnection, where XXX is the flavour of the database you are connecting to. Each one of these components takes the requests of the SQLQuery and SQLTransaction components and translates them into requests specifically tailored for the database you are using.
+
Il y a divers composants de connexion appelés TXXXConnection,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]].
These connection objects descend from the generic TSQLConnection; you can use TSQLConnection to create database programs that can connect to multiple databases (see [[SQLdb Tutorial3]].
 
  
The actual components are:
+
Les composants actuels sont :
*TIBConnection ([[Firebird|Borland Interbase / Firebird]])
+
*TIBConnection ([[Firebird/fr|Borland Interbase / Firebird]])
*TMSSQLConnection ([[mssqlconn|Microsoft SQL Server]], available since FPC version 2.6.1/Lazarus 1.0.8)
+
*TMSSQLConnection ([[mssqlconn/fr|Microsoft SQL Server]], disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
*TMySQL40Connection ([[mysql|MySQL]], requires MySQL 4.0 client library)
+
*TMySQL40Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 4.0)
*TMySQL41Connection ([[mysql|MySQL]], requires MySQL 4.1 client library)
+
*TMySQL41Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 4.1)
*TMySQL50Connection ([[mysql|MySQL]], requires MySQL 5.0 client library)
+
*TMySQL50Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 5.0)
*TMySQL51Connection ([[mysql|MySQL]], requires MySQL 5.1 client library, available since FPC version 2.5.1)
+
*TMySQL51Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 5.1, disponible depuis FPC version 2.5.1)
*TMySQL55Connection ([[mysql|MySQL]], requires MySQL 5.5 client library, available since FPC version 2.6.1/Lazarus 1.0.8)
+
*TMySQL55Connection ([[MySQLDatabases/fr|MySQL]], demande la bibliothèque client MySQL 5.5, disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
*TODBCConnection (An ODBC connection to a database that the PC has the driver for; see [[ODBCConn]])
+
*TODBCConnection (Une connexion ODBC vers une base de données pour laquelle le PC a les pilotes ; voir [[ODBCConn/fr|ODBCConn]])
*TOracleConnection ([[Lazarus_Database_Overview#Lazarus_and_Oracle|Oracle]])
+
*TOracleConnection ([[Lazarus_Database_Overview/fr#Lazarus_et_Oracle|Oracle]])
*TPQConnection ([[postgresql|PostgreSQL]])
+
*TPQConnection ([[postgres/fr|PostgreSQL]])
*TSybaseConnection ([[mssqlconn|Sybase ASE]], available since FPC version 2.6.1/Lazarus 1.0.8)
+
*TSybaseConnection ([[mssqlconn/fr|Sybase ASE]], disponible depuis FPC version 2.6.1/Lazarus 1.0.8)
*TSQLite3Connection ([[SQLite|SQLite]], available since FPC version 2.2.2)
+
*TSQLite3Connection ([[SQLite/fr|SQLite]], disponible depuis FPC version 2.2.2)
  
 
== TSQLTransaction ==
 
== TSQLTransaction ==
Documentation: see [http://www.freepascal.org/docs-html/fcl/sqldb/tsqltransaction.html TSQLTransaction documentation]
+
Documentation : voir la [http://www.freepascal.org/docs-html/fcl/sqldb/tsqltransaction.html documentation TSQLTransaction].
  
This encapsulates the transaction on the database server. A TXXXConnection object always needs at least one TSQLTransaction associated with it, so that the transaction of its queries is managed.
+
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 :
Queries/actions on the database need to be encapsulated in
 
* a .StartTransaction/.Commit (or .Rollback) block
 
* or a single .StartTransaction at the beginning, followed by .CommitRetaining or .RollBackretaiing. CommitRetaining and RollbackRetaining keep the transaction open, so performing another StartTransaction is not needed.
 
  
Setting .Active to true if it was false is equivalent to .StartTransaction.
+
* 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.
  
Setting .Active to false if it was true is equivalent to .Rollback
+
Définir .Active à True si elle est à False est équivalent à appeler .StartTransaction.
 +
 
 +
Définir .Active à False si elle est à True est équivalent à ''.Rollback''.
  
 
== TSQLQuery ==
 
== TSQLQuery ==
Documentation: see [http://www.freepascal.org/docs-html/fcl/sqldb/tsqlquery.html TSQLQuery ]
+
Documentation : voir [http://www.freepascal.org/docs-html/fcl/sqldb/tsqlquery.html TSQLQuery].
  
This is a descendant of TDataset, and provides the data as a table from the SQL query that you submit. However, it can also be used to execute SQL queries (e.g. stored procedures, INSERT INTO..) that don't return any data. See [[Working With TSQLQuery]] for more details.
+
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 [[Working With TSQLQuery/fr|travailler avec TSQLQuery]] pour plus de détails.
  
 
= Utilisation du paquet SQLdb =
 
= Utilisation du paquet SQLdb =
To use the SQLdb package, you need a TSQLQuery component, a TSQLTransaction component, and one of the connection components.
+
Pour utiliser le paquet SQLdb, vous avez besoin d'un composant TSQLQuery, d'un composant TSQLTransaction et un des composants de connexion.
 
   
 
   
Here is a quick tutorial:
+
Voici un tutoriel rapide :
Make sure you have the relevant database client/driver installed.
+
Assurez-vous que vous avez un pilote/client pour la base de données concernée.
Go to the SQLdb tab in Component Palette.  
+
Allez sur l'onglet SQLdb dans la palette de composants.
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.
+
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.
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.
+
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.
Add an SQLQuery component and set its Database property to the connecton component you just added.
+
Ajoutez un composant SQLQuery et définissez sa propriété Database avec le composant Connection que vous venez d'ajouter.
Set the SQLQuery "SQL" property. For a first test, just do a "select * from <tablename>".
+
Définissez la propriété "SQL". Pour un premier essai, faites juste un "select * from <tablename>".
Set active to true. If this works, you have opened your query, and the data is available.
+
Mettez Active à True. Si cela fonctionne, vous avez ouvert la requête et les données sont disponibles.
 
+
A partir de là, l'ajout des contrôles est le même qu'avec tout autre base de données, soit juste pour rappeler :
From here on, adding controls is the same as for any database, but just to recap:  
+
Ajoutez un composant TDataSource (de l'onglet Data Access) et définissez sa propriété DataSet avec le composant TSQLQuery
Add a TDatasource component (from the Data Access tab) and set its dataset property to the SQLQuery component
+
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.
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]].
+
Bien 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]].
  
 
= Voir aussi =
 
= Voir aussi =
* [[SqlDBHowto]]
+
* [[SqlDBHowto/fr|Comment faire en SQL ?]]
* [[SQLdb Programming Reference]]
+
* [[SQLdb Programming Reference/fr|Référence de programmation SQLdb]]
* [[Databases]]
+
* [[Databases/fr|Bases de données]]
* [http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=index-4&unit=sqldb interface view of the classes]
+
* [http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=index-4&unit=sqldb Vue de l'interface des classes (en)]
* [http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=fcldbnotes some additional documentation/notes]
+
* [http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=fcldbnotes some additional documentation/notes Quelles docs/notes en plus (en)]
 +
<br/>

Latest revision as of 14:59, 19 July 2017

English (en) español (es) français (fr) 日本語 (ja) 中文(中国大陆)‎ (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

Pour utiliser le paquet SQLdb, vous avez besoin d'un composant TSQLQuery, d'un composant TSQLTransaction et un des composants de connexion.

Voici un tutoriel rapide :

  • Assurez-vous que vous avez un pilote/client pour la base de données concernée.
  • Allez sur l'onglet SQLdb dans la palette de composants.
  • 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.
  • 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.
  • Ajoutez un composant SQLQuery et définissez sa propriété Database avec le composant Connection que vous venez d'ajouter.
  • Définissez la propriété "SQL". Pour un premier essai, faites juste un "select * from <tablename>".
  • Mettez Active à True. Si cela fonctionne, vous avez ouvert la requête et les données sont disponibles.

A partir de là, l'ajout des contrôles est le même qu'avec tout autre base de données, soit juste pour rappeler :

  • Ajoutez un composant TDataSource (de l'onglet Data Access) et définissez sa propriété DataSet avec le composant TSQLQuery
  • 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.

Bien 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 à Travailler avec des TSQLQuery et Tutoriel SQLdb 1.

Voir aussi