Eneboo - Documentación para desarrolladores
Tipos públicos | Métodos públicos | Métodos públicos estáticos
Referencia de la Clase FLSqlDatabase

#include <FLSqlDatabase.h>

Diagrama de herencias de FLSqlDatabase
AQSqlDatabase

Lista de todos los miembros.

Tipos públicos

enum  ConnOptions { USER = 0, PASSWORD = 1, PORT = 2, HOST = 3 }

Métodos públicos

 FLSqlDatabase ()
 ~FLSqlDatabase ()
bool loadDriver (const QString &driverName, const QString &connName="default")
bool connectDB (const QString &database, const QString &user=QString::null, const QString &password=QString::null, const QString &host=QString::null, int port=-1, const QString &connName="default")
bool connectDB ()
void closeDB ()
bool createTable (FLTableMetaData *tmd)
bool canRegenTables ()
QString formatValueLike (int t, const QVariant &v, const bool upper=false)
QString formatValue (int t, const QVariant &v, const bool upper=false)
QVariant nextSerialVal (const QString &table, const QString &field)
int atFrom (FLSqlCursor *cur)
QSqlDatabase * db () const
QSqlDatabase * dbAux () const
QString database () const
QString user () const
QString password () const
QString host () const
int port () const
QString driverName () const
bool alterTable (const QString &mtd1, const QString &mtd2, const QString &key=QString::null)
FLManager * manager ()
FLManagerModules * managerModules ()
QString connectionName () const
bool canSavePoint ()
bool savePoint (const QString &n)
bool releaseSavePoint (const QString &n)
bool rollbackSavePoint (const QString &n)
bool canTransaction () const
void Mr_Proper ()
bool canDetectLocks () const
QStringList locksStatus ()
QStringList detectLocks ()
QStringList detectRisksLocks (const QString &table=QString::null, const QString &primaryKeyValue=QString::null)
bool regenTable (const QString &n, FLTableMetaData *tmd)
bool isOpen () const
bool isOpenError () const
QStringList tables () const
QStringList tables (QSql::TableType type) const
QSqlError lastError () const
QString connectOptions () const

Métodos públicos estáticos

static QStringList driverAliases ()
static QString defaultAlias ()
static QString driverAliasToDriverName (const QString &alias)
static QString driverNameToDriverAlias (const QString &name)
static bool needConnOption (const QString &alias, const int connOption)
static QString defaultPort (const QString &alias)

Descripción detallada

Gestión de bases de datos.

Proporciona una capa de abstracción para manejar distintos tipos de bases de datos. A través de controladores internos (drivers) específicos se gestiona el acceso a cada uno de los tipos de la bases de datos, ver FLSqlDriver.

Ofrece métodos para cargar controladores, conectar a la base de datos y realizar operaciones específicas de forma unificada.

El sistemas de persistencia utiliza esta clase para poder trabajar de forma homogénea sobre cualquier tipo de base de datos de la que exista un controlador.

Autor:
InfoSiAL S.L.

Documentación de las enumeraciones miembro de la clase

Enumeración de opciones de conexión

Valores de enumeraciones:
USER 

Usuario

PASSWORD 

Contraseña

PORT 

Puerto

HOST 

Servidor


Documentación del constructor y destructor

FLSqlDatabase::FLSqlDatabase ( )

constructor

FLSqlDatabase::~FLSqlDatabase ( )

destructor


Documentación de las funciones miembro

bool FLSqlDatabase::alterTable ( const QString &  mtd1,
const QString &  mtd2,
const QString &  key = QString::null 
)

Modifica la estructura de una tabla dada, preservando los datos. La nueva estructura y la vieja se pasan en cadenas de caracteres con la descripcion XML.

Parámetros:
nNombre de la tabla a reconstruir
mtd1Descripcion en XML de la vieja estructura
mtd2Descripcion en XML de la nueva estructura
keyClave sha1 de la vieja estructura
Devuelve:
TRUE si la modificación tuvo éxito
int FLSqlDatabase::atFrom ( FLSqlCursor *  cur)

Obtiene la posición del registro actual.

La posición del registro actual dentro del cursor se calcula teniendo en cuenta el filtro actual ( FLSqlCursor::curFilter() ) y el campo o campos de ordenamiento del mismo ( QSqlCursor::sort() ). Este método es útil, por ejemplo, para saber en que posición dentro del cursor se ha insertado un registro.

Parámetros:
curCursor sobre el que calcular la posición del registro.
Devuelve:
Posición del registro dentro del cursor.
bool FLSqlDatabase::canDetectLocks ( ) const
Devuelve:
True si la base de datos actual puede detectar si sus transacciones están bloqueando a las de otra conexión
bool FLSqlDatabase::canRegenTables ( )
Devuelve:
True si la base de datos actual es capaz de regenerar tablas de forma dinámica
bool FLSqlDatabase::canSavePoint ( )
Devuelve:
Si tiene capacidad para crear puntos de salvaguarda
bool FLSqlDatabase::canTransaction ( ) const
Devuelve:
Si soporta transacciones
void FLSqlDatabase::closeDB ( )

Cierra la conexión actual de la base de datos

bool FLSqlDatabase::connectDB ( const QString &  database,
const QString &  user = QString::null,
const QString &  password = QString::null,
const QString &  host = QString::null,
int  port = -1,
const QString &  connName = "default" 
)

Conecta con una base de datos.

Para poder conectar con una base de datos es imprescindible haber cargado con anterioridad el driver correspondiente utilizando FLSqlDatabase::loadDriver().

A partir de la llamada a este método la base de datos actual para a ser a la que conectamos. Internamente, si es posible, crea dos conexiones paralelas a la misma base de datos; FLSqlDatabase::db() y FLSqlDatabase::dbAux().

Parámetros:
databaseNombre de la base de datos a la que conectar
userUsuario
passwordContraseña
hostServidor de la base de datos
portPuerto TCP de conexión
connNameNombre de la conexion
Devuelve:
True si la conexión tuvo éxito, false en caso contrario
bool FLSqlDatabase::connectDB ( )

Conecta con una base de datos utilizando los datos de conexión actuales

QString FLSqlDatabase::connectionName ( ) const [inline]
Devuelve:
Nombre de la conexión
QString FLSqlDatabase::connectOptions ( ) const
bool FLSqlDatabase::createTable ( FLTableMetaData *  tmd)

Crea una tabla en la base de datos actual.

Parámetros:
tmdMetadatos con la descripción de la tabla a crear
Devuelve:
True si se pudo crear la tabla, false en caso contrario
QString FLSqlDatabase::database ( ) const [inline]
Devuelve:
Nombre de la base de datos actual
QSqlDatabase* FLSqlDatabase::db ( ) const [inline]
Devuelve:
Conexión principal a la base de datos actual
QSqlDatabase* FLSqlDatabase::dbAux ( ) const [inline]
Devuelve:
Conexión auxiliar a la base de datos actual
QString FLSqlDatabase::defaultAlias ( ) [static]
Devuelve:
Alias establecido por defecto
QString FLSqlDatabase::defaultPort ( const QString &  alias) [static]

Obtiene el puerto de conexión usado habitualmente por un controlador

Parámetros:
aliasAlias del controlador
Devuelve:
Numero de puerto
QStringList FLSqlDatabase::detectLocks ( )

Comprueba si las transacciones de la base de datos actual están bloqueando a otras conexiones.

Si hay bloqueos devuelve una lista de los mismos con el formato descrito en FLSqlDatabase::locksStatus()

Devuelve:
Lista con información de los bloqueos, si es vacia no hay bloqueos.
QStringList FLSqlDatabase::detectRisksLocks ( const QString &  table = QString::null,
const QString &  primaryKeyValue = QString::null 
)

Comprueba si hay riesgo de caer en un bloqueo en espera con otras conexiones.

Si hay riesgo devuelve una lista de los bloqueos candidatos con el mismo formato descrito en FLSqlDatabase::locksStatus()

Parámetros:
tableEl nombre de una tabla para solo comprobar los riesgos sobre ella, o vacio para comprobarlos en todas las tablas.
primaryKeyValueEl valor de la clave primaria de un registro para solo comprobar los riesgos sobre el, o vacio para comprobarlos en todos. ( No funciona con claves compuestas ).
Devuelve:
Lista con información de los bloqueos, si es vacia no hay bloqueos.
QStringList FLSqlDatabase::driverAliases ( ) [static]
Devuelve:
Lista de los alias de los controladores actualmente disponibles.
QString FLSqlDatabase::driverAliasToDriverName ( const QString &  alias) [static]
Parámetros:
aliasAlias de un controlador
Devuelve:
Alias el nombre interno de un controlador a partir de su alias
QString FLSqlDatabase::driverName ( ) const [inline]
Devuelve:
Nombre interno del driver utilizado para conectar a la base de datos actual
QString FLSqlDatabase::driverNameToDriverAlias ( const QString &  name) [static]
Parámetros:
nameNombre interno de un controlador
Devuelve:
Alias de un controlador a partir de su nombre interno
QString FLSqlDatabase::formatValue ( int  t,
const QVariant &  v,
const bool  upper = false 
)

Devuelve el contenido del valor de de un campo formateado para ser reconocido por la base de datos actual, dentro de la clausura WHERE de SQL.

Este método toma como parametros los metadatos del campo definidos con FLFieldMetaData. Además de TRUE y FALSE como posibles valores de un campo lógico también acepta los valores Sí y No (o su traducción al idioma correspondiente). Las fechas son adaptadas al forma AAAA-MM-DD, que es el formato reconocido por PostgreSQL .

Parámetros:
tTipo de datos del valor
vValor que se quiere formatear para el campo indicado
upperSi TRUE convierte a mayúsculas el valor (si es de tipo cadena)
Devuelve:
Valor del campo debidamente formateado
QString FLSqlDatabase::formatValueLike ( int  t,
const QVariant &  v,
const bool  upper = false 
)

Devuelve el contenido del valor de de un campo formateado para ser reconocido por la base de datos actual en condiciones LIKE, dentro de la clausura WHERE de SQL.

Este método toma como parametros los metadatos del campo definidos con FLFieldMetaData. Además de TRUE y FALSE como posibles valores de un campo lógico también acepta los valores Sí y No (o su traducción al idioma correspondiente). Las fechas son adaptadas al forma AAAA-MM-DD, que es el formato reconocido por PostgreSQL .

Parámetros:
tTipo de datos del valor
vValor que se quiere formatear para el campo indicado
upperSi TRUE convierte a mayúsculas el valor (si es de tipo cadena)
Devuelve:
Valor del campo debidamente formateado
QString FLSqlDatabase::host ( ) const [inline]
Devuelve:
Dirección del servidor donde se encuentra la base de datos actual
bool FLSqlDatabase::isOpen ( ) const
bool FLSqlDatabase::isOpenError ( ) const
QSqlError FLSqlDatabase::lastError ( ) const
bool FLSqlDatabase::loadDriver ( const QString &  driverName,
const QString &  connName = "default" 
)

Carga un controlador.

Parámetros:
driverNameNombre interno del controlador que se desa cargar
connNameNombre de la conexion
Devuelve:
True si la carga tuvo éxito, false en caso contrario
QStringList FLSqlDatabase::locksStatus ( )

Para obtener información sobre el estado de los bloqueos existentes en la base de datos.

Si hay bloqueos devuelve una lista de cadenas de texto en forma de registros de información. En esta lista la primera cadena de texto contiene los nombres de los campos de información incluidos y separados con "@", las siguientes cadenas son una por cada bloqueo con la información correspondiente. Si hay registros bloqueados produciendo situaciones de espera, se incluye información de los mismos cuando la cadena empieza por "##", indicando el nombre del campo clave primaria y el valor para el registro bloqueado.

Ejemplo:

"relation@locktype@pid" "stocks@RowExclusiveLock@8229" "##idstock=203" "secuencias@ExclusiveLock@8393"

Devuelve:
Lista con información de los bloqueos, si es vacia no hay bloqueos.
FLManager * FLSqlDatabase::manager ( )
Devuelve:
Manejador general
FLManagerModules * FLSqlDatabase::managerModules ( )
Devuelve:
Manejador de módulos
void FLSqlDatabase::Mr_Proper ( )

Ejecuta tareas de limpieza y optimización de la base de datos

bool FLSqlDatabase::needConnOption ( const QString &  alias,
const int  connOption 
) [static]

Obtiene si un controlador necesita una opción de conexión, a partir de su alias.

Parámetros:
aliasAlias del controlador
connOptionTipo de opción a comprobar, del tipo enumeración FLSqlDatabase::ConnOptions
Devuelve:
True si la opción es necesaria para que el controlador pueda establecer la conexión, false en caso contrario
QVariant FLSqlDatabase::nextSerialVal ( const QString &  table,
const QString &  field 
)

Obtiene el siguiente valor de la secuencia para campos del tipo serial.

Parámetros:
tableNombre la tabla del campo serial
fieldNombre del campo serial
Devuelve:
Siguiente valor de la secuencia
QString FLSqlDatabase::password ( ) const [inline]
Devuelve:
Contraseña utilizada para conectar a la base de datos actual
int FLSqlDatabase::port ( ) const [inline]
Devuelve:
Puerto TCP utlizado para conectar al servidor de la base de datos actual
bool FLSqlDatabase::regenTable ( const QString &  n,
FLTableMetaData *  tmd 
)

Regenera una tabla si su estructura actual en la base de datos difiere de la estructura definida en los metadatos pasados como parámetro.

Parámetros:
nNombre de la tabla de la base de datos
tmdMetadatos con la descripción de la tabla
Devuelve:
True si se necesitaba regenerar la tabla y la regenación tuvo éxito
bool FLSqlDatabase::releaseSavePoint ( const QString &  n)

Libera un punto de salvaguarda

Parámetros:
nNombre del punto de salvaguarda a liberar
Devuelve:
TRUE si la acción tuvo éxito
bool FLSqlDatabase::rollbackSavePoint ( const QString &  n)

Deshace operaciones hasta el punto de salvaguarda

Parámetros:
nNombre del punto de salvaguarda
Devuelve:
TRUE si la acción tuvo éxito
bool FLSqlDatabase::savePoint ( const QString &  n)

Crea un punto de salvaguarda

Parámetros:
nNombre que se le asignará al punto de salvaguarda
Devuelve:
TRUE si la acción tuvo éxito
QStringList FLSqlDatabase::tables ( ) const
QStringList FLSqlDatabase::tables ( QSql::TableType  type) const
QString FLSqlDatabase::user ( ) const [inline]
Devuelve:
Usuario utilizado para conectar a la base de datos actual

La documentación para esta clase fue generada a partir de los siguientes ficheros:
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'