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)
QSqlDatabasedb () const
QSqlDatabasedbAux () 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)
FLManagermanager ()
FLManagerModulesmanagerModules ()
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

Gestin de bases de datos.

Proporciona una capa de abstraccin para manejar distintos tipos de bases de datos. A travs de controladores internos (drivers) especficos se gestiona el acceso a cada uno de los tipos de la bases de datos, ver FLSqlDriver.

Ofrece mtodos para cargar controladores, conectar a la base de datos y realizar operaciones especficas de forma unificada.

El sistemas de persistencia utiliza esta clase para poder trabajar de forma homognea 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

Enumeracin de opciones de conexin

Valores de enumeraciones:
USER 

Usuario

PASSWORD 

Contrasea

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 modificacin tuvo xito
int FLSqlDatabase::atFrom ( FLSqlCursor cur)

Obtiene la posicin del registro actual.

La posicin 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 mtodo es til, por ejemplo, para saber en que posicin dentro del cursor se ha insertado un registro.

Parámetros:
curCursor sobre el que calcular la posicin del registro.
Devuelve:
Posicin del registro dentro del cursor.
bool FLSqlDatabase::canDetectLocks ( ) const
Devuelve:
True si la base de datos actual puede detectar si sus transacciones estn bloqueando a las de otra conexin
bool FLSqlDatabase::canRegenTables ( )
Devuelve:
True si la base de datos actual es capaz de regenerar tablas de forma dinmica
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 conexin 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 mtodo 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
passwordContrasea
hostServidor de la base de datos
portPuerto TCP de conexin
connNameNombre de la conexion
Devuelve:
True si la conexin tuvo xito, false en caso contrario
bool FLSqlDatabase::connectDB ( )

Conecta con una base de datos utilizando los datos de conexin actuales

QString FLSqlDatabase::connectionName ( ) const [inline]
Devuelve:
Nombre de la conexin
QString FLSqlDatabase::connectOptions ( ) const
bool FLSqlDatabase::createTable ( FLTableMetaData tmd)

Crea una tabla en la base de datos actual.

Parámetros:
tmdMetadatos con la descripcin 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:
Conexin principal a la base de datos actual
QSqlDatabase* FLSqlDatabase::dbAux ( ) const [inline]
Devuelve:
Conexin 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 conexin 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 estn bloqueando a otras conexiones.

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

Devuelve:
Lista con informacin 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 informacin 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 mtodo toma como parametros los metadatos del campo definidos con FLFieldMetaData. Adems de TRUE y FALSE como posibles valores de un campo lgico tambin acepta los valores S y No (o su traduccin 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 maysculas 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 mtodo toma como parametros los metadatos del campo definidos con FLFieldMetaData. Adems de TRUE y FALSE como posibles valores de un campo lgico tambin acepta los valores S y No (o su traduccin 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 maysculas el valor (si es de tipo cadena)
Devuelve:
Valor del campo debidamente formateado
QString FLSqlDatabase::host ( ) const [inline]
Devuelve:
Direccin 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 informacin 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 informacin. En esta lista la primera cadena de texto contiene los nombres de los campos de informacin incluidos y separados con "@", las siguientes cadenas son una por cada bloqueo con la informacin correspondiente. Si hay registros bloqueados produciendo situaciones de espera, se incluye informacin 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 informacin de los bloqueos, si es vacia no hay bloqueos.
FLManager * FLSqlDatabase::manager ( )
Devuelve:
Manejador general
FLManagerModules * FLSqlDatabase::managerModules ( )
Devuelve:
Manejador de mdulos
void FLSqlDatabase::Mr_Proper ( )

Ejecuta tareas de limpieza y optimizacin de la base de datos

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

Obtiene si un controlador necesita una opcin de conexin, a partir de su alias.

Parámetros:
aliasAlias del controlador
connOptionTipo de opcin a comprobar, del tipo enumeracin FLSqlDatabase::ConnOptions
Devuelve:
True si la opcin es necesaria para que el controlador pueda establecer la conexin, 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:
Contrasea 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 parmetro.

Parámetros:
nNombre de la tabla de la base de datos
tmdMetadatos con la descripcin de la tabla
Devuelve:
True si se necesitaba regenerar la tabla y la regenacin 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 accin 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 accin 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 accin 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'