Difference between revisions of "SQLdb Package/es"

From Lazarus wiki
Jump to navigationJump to search
Line 31: Line 31:
 
==Using the SQLdb Package==
 
==Using the SQLdb Package==
  
To use the SQLdb package, you need a TSQLQuery component, a TSQLTransaction component, and one of the connection components.
 
 
Para utilizar el paquete SQLdb se necesitan los componentes TSQLQuery y TSQLTransaction, además de los componentes de conexión (connection).   
 
Para utilizar el paquete SQLdb se necesitan los componentes TSQLQuery y TSQLTransaction, además de los componentes de conexión (connection).   
 
  
 
Aquí tenéis un breve tutorial:
 
Aquí tenéis un breve tutorial:
  
 
*  Ir a la solapa SQLdb en la paleta de componentes.  
 
*  Ir a la solapa SQLdb en la paleta de componentes.  
Add a T___Connection 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.
+
Añadir un componente T___Connection (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 componentReturn to the Connection component, and set its Transaction Property to the new transaction.  This should also set the transaction's database property - check to make sure.  You should be able to set active to true.
+
Añadir un componente TSQLTransaction.  Volver al componente Connection y establecer su propiedad "Transaction" a la nueva transacción.  This should also set the transaction's database property - check to make sure.  You should be able to set active to true.
 
*  Add an SQLQuery component and set its Database and Transaction properties to the components you just added.
 
*  Add an SQLQuery component and set its Database and Transaction properties to the components you just added.
*  Set the SQLQuery "SQL" property.  For a first test, just do a "select * from <tablename>.
+
*  Set the SQLQuery "SQL" property.  Para un primer test realizar por ejemplo un  "select * from <tablename>." que selecciona todo el contenido de la tabla para la base de datos con la que se estableció la conexión.
Set active to trueIf you can, you have opened your query, and the data is available.
+
Establecer Active a TrueSi funciona, se ha abierto una consulta (query) y el dato está disponible.
From here on, adding controls is the same as for any database, but just to recap:  
+
Desde este punto, añadir controles es igual que para cualquier otra base de datos, de todos modos recapitulemos:  
 
*  Add a TDatasource component (from the Data Access tab) and set its dataset property to the SQLQuery component
 
*  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.
 
*  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]].
+
Por supuesto, esto es solamente el comienzo, pero obteniendo algunas datos en la grid suele ser usualmente el primer paso para asegurar que la conexión está funcionando. Se pueden encontrar explicaciones más detalladas en [[Working With TSQLQuery]].
  
 
==Notes==
 
==Notes==

Revision as of 16:19, 30 October 2008

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. El paquete SQLdb contiene unidades FPC para acceder a ciertas bases de datos SQL. Es empaquetado como sqldblaz.lpk en Lazarus y los componentes pueden encontrarse en la solapa "SQLdb" del IDE gráfico.

Componentes

El paquete SQLdb provee los siguientes componentes:

TSQLQuery

Desciende de TDataset y provee los datos como una tabla procedente de la consulta (query) SQL realizada. También puede ser utilizado para ejecutar consultas que no retornan datos.

TSQLTransaction

Encapsula las transacciones en servidor de base de datos. No voy a decir mucho más acerca del mismo dado que tampoco he trabajado demasiado con él. Lo más importante es que tiene los métodos commit y rollback para finalizar o cancelar la transacción en la base de datos.

TXXXConnection

Donde XXX es el tipo de base de datos a la cual se está conectando. Cada uno de estos componentes toma la petición "standard" de los componentes SQLQuery y SQLTransaction y los traduce en peticiones a la base de datos, permitiendo las idiosincracias de la base de datos específica que se está utilizando.

Los componentes actuales son:

  • TIBConnection (Borland Interbase / Firebird)
  • TODBCConnection (Una conexión ODBC a la base de datos para la cual el PC tiene driver...)
  • TOracleConnection (Oracle)
  • TMySQL40Connection (MySQL - varias versiones)
  • TMySQL41Connection
  • TMySQL50Connection
  • TPQConnection (PostgreSQL)
  • TSQLite3Connection (fpc versión 2.2.2)

Using the SQLdb Package

Para utilizar el paquete SQLdb se necesitan los componentes TSQLQuery y TSQLTransaction, además de los componentes de conexión (connection).

Aquí tenéis un breve tutorial:

  • Ir a la solapa SQLdb en la paleta de componentes.
  • Añadir un componente T___Connection (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.
  • Añadir un componente TSQLTransaction. Volver al componente Connection y establecer su propiedad "Transaction" a la nueva transacción. This should also set the transaction's database property - check to make sure. You should be able to set active to true.
  • Add an SQLQuery component and set its Database and Transaction properties to the components you just added.
  • Set the SQLQuery "SQL" property. Para un primer test realizar por ejemplo un "select * from <tablename>." que selecciona todo el contenido de la tabla para la base de datos con la que se estableció la conexión.
  • Establecer Active a True. Si funciona, se ha abierto una consulta (query) y el dato está disponible.

Desde este punto, añadir controles es igual que para cualquier otra base de datos, de todos modos recapitulemos:

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

Por supuesto, esto es solamente el comienzo, pero obteniendo algunas datos en la grid suele ser usualmente el primer paso para asegurar que la conexión está funcionando. Se pueden encontrar explicaciones más detalladas en Working With TSQLQuery.

Notes

Se pueden encontrar más detalles enSQLdb Programming Reference

Las páginas relacionadas con el paquete SQLdb fueron inicialmente escritas a partir de observaciones realizadas utilizando TPQConnection, PostgreSQL 8.1 bajo WinXP. Es de esperar resultados similares para otras bases de datos, de modo que si alguien los puede confirmar vendría bien tener aquí unas anotaciones del resultado.

Parece funcionar de modo similar en MySQL 5.0.45 bajo Win XP. La propiedad 'active' de TSQLTransaction no puede ser establecida a true, pero los datos obtenidos de la base de datos se pueden visualizar en el componente TDbGrid (se encuentra en la solapa DataControls).

Se puede encontrar algo más de información (notas y documentación) en el siguientes enlace:

http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=fcldbnotes

Para ver el listados de clases disponibles para este interface ir a:

http://z505.com/cgi-bin/powtils/docs/1.6/idx.cgi?file=index-4&unit=sqldb