Eneboo - Documentación para desarrolladores
Tipos públicos | Slots públicos | Métodos públicos
Referencia de la Clase AQSql

#include <AQObjects.h>

Diagrama de herencias de AQSql
QObject Qt Qt

Lista de todos los miembros.

Tipos públicos

enum  ModeAccess { Insert = 0, Edit = 1, Del = 2, Browse = 3 }
enum  ConnOptions { User = 0, Password = 1, Port = 2, Host = 3 }
enum  SpecialType { Serial = 100, Unlock = 200, Check = 300 }
enum  Cardinality { RELATION_1M = 0, RELATION_M1 = 1 }
enum  TableType { Tables = 0x01, SystemTables = 0x02, Views = 0x04, AllTables = 0xff }
enum  SqlErrorType {
  SqlErrorNone, SqlErrorConnection, SqlErrorStatement, SqlErrorTransaction,
  SqlErrorUnknown
}

Slots públicos

bool addDatabase (const QString &driverAlias, const QString &nameDB, const QString &user, const QString &password, const QString &host, int port, const QString &connectionName)
bool addDatabase (FLSqlDatabase *db, const QString &connectionName="default")
bool addDatabase (const QString &newConnName, const QString &sourceConnName="default")
bool removeDatabase (const QString &connectionName)
FLSqlDatabasedatabase (const QString &connectionName="default")
void finish ()
bool insert (FLSqlCursor *cur, const QStringList &fields, const QValueList< QVariant > &values)
bool insert (const QString &table, const QStringList &fields, const QValueList< QVariant > &values, const QString &connName="default")
bool update (FLSqlCursor *cur, const QStringList &fields, const QValueList< QVariant > &values, const QString &where="")
bool update (const QString &table, const QStringList &fields, const QValueList< QVariant > &values, const QString &where="", const QString &connName="default")
bool del (FLSqlCursor *cur, const QString &where="")
bool del (const QString &table, const QString &where="", const QString &connName="default")
QValueList< QVariantselect (const QString &select, const QString &from, const QString &where=QString::null, const QString &orderBy=QString::null, const QString &connName="default")
QValueList< QVariantselectForUpdate (const QString &select, const QString &from, const QString &where=QString::null, bool nowait=false, const QString &connName="default")

Métodos públicos

 AQSql ()

Documentación de las enumeraciones miembro de la clase

Valores de enumeraciones:
RELATION_1M 
RELATION_M1 
Valores de enumeraciones:
User 
Password 
Port 
Host 
Valores de enumeraciones:
Insert 
Edit 
Del 
Browse 
Valores de enumeraciones:
Serial 
Unlock 
Check 
Valores de enumeraciones:
SqlErrorNone 
SqlErrorConnection 
SqlErrorStatement 
SqlErrorTransaction 
SqlErrorUnknown 
Valores de enumeraciones:
Tables 
SystemTables 
Views 
AllTables 

Documentación del constructor y destructor

AQSql::AQSql ( ) [inline]

Documentación de las funciones miembro

bool AQSql::addDatabase ( const QString driverAlias,
const QString nameDB,
const QString user,
const QString password,
const QString host,
int  port,
const QString connectionName 
) [inline, slot]

Aade una base de datos a las conexiones disponibles.

La base de datos ser abierta. Si ya existiera una conexin con el mismo nombre la base datos correspondiente ser cerrada y borrada, sustituyndola por la nueva.

Parámetros:
driverAliasAlias del driver ( PostgreSQL, MySQL, SQLite, ... ), ver FLSqlDatabase.
nameDBNombre de la base de datos a la que conectar
userUsuario de la conexin
passwordContrasea para el usuario
hostNombre o direccin del servidor de la base de datos
portPuerto TCP de conexion
connectionNameNombre de la conexion
Devuelve:
TRUE si se pudo realizar la conexin, FALSE en caso contrario
bool AQSql::addDatabase ( FLSqlDatabase db,
const QString connectionName = "default" 
) [inline, slot]

Sobrecargada por conveniencia

Practicamente hace lo mismo que el mtodo anterior pero utilizando una base de datos ya construida

Parámetros:
dbBase datos a aadir a las conexiones disponibles, ver FLSqlDatabase.
connectionNameNombre de la conexion
Devuelve:
TRUE si se pudo realizar la conexin, FALSE en caso contrario
bool AQSql::addDatabase ( const QString newConnName,
const QString sourceConnName = "default" 
) [inline, slot]

Sobrecargada por conveniencia

Aade una base de datos a las conexiones disponibles utilizando los datos de otra conexin

Parámetros:
newConnNameNombre a utilizar para la nueva conexion
sourceConnNameNombre de una conexin existente a utilizar como origen de los datos de conexin
Devuelve:
TRUE si se pudo realizar la conexin, FALSE en caso contrario
FLSqlDatabase* AQSql::database ( const QString connectionName = "default") [inline, slot]

Obtiene la base de datos de una conexion.

Parámetros:
connectionNmaeNombre de la conexion
Devuelve:
La base de datos correspondiente al nombre de conexion indicado
bool AQSql::del ( FLSqlCursor cur,
const QString where = "" 
) [inline, slot]

Elimina un conjunto de registros de un cursor

Si hay un error SQL, eleva una excepcin con el mensaje de error

Ejemplo:

var cur = new AQSqlCursor("clientes"); try { AQSql.del(cur, "codcliente='1'"); } catch (e) { sys.errorMsgBox("Error SQL: " + e); }

bool AQSql::del ( const QString table,
const QString where = "",
const QString connName = "default" 
) [inline, slot]
void AQSql::finish ( ) [inline, slot]

Finalizar todas las conexiones

bool AQSql::insert ( const QString table,
const QStringList fields,
const QValueList< QVariant > &  values,
const QString connName = "default" 
) [inline, slot]
bool AQSql::insert ( FLSqlCursor cur,
const QStringList fields,
const QValueList< QVariant > &  values 
) [inline, slot]

Inserta un registro en un cursor

Si hay un error SQL, eleva una excepcin con el mensaje de error

Ejemplo:

var cur = new AQSqlCursor("clientes"); try { AQSql.insert(cur, ["codcliente","nombre","cifnif","codserie"], ["1","pepe","XYZ","A"]); } catch (e) { sys.errorMsgBox("Error SQL: " + e); }

bool AQSql::removeDatabase ( const QString connectionName) [inline, slot]

Elimina una base de datos de las conexiones disponibles.

Cierra la base de datos correspondiente y la elimina.

Parámetros:
connectionNameNombre de la conexion
Devuelve:
TRUE si se pudo eliminar la base de datos, FALSE en caso contrario
QValueList<QVariant> AQSql::select ( const QString select,
const QString from,
const QString where = QString::null,
const QString orderBy = QString::null,
const QString connName = "default" 
) [inline, slot]

Ejecuta una consulta y devuelve informacin de la misma y el conjunto de registros obtenidos

Si hay un error SQL, eleva una excepcin con el mensaje de error

Devuelve un array 'A' donde:

-A[0] contiene el nmero de registros -A[1] contiene el nmero de campos -A[2] contiene otro array con los nombres de lo campos, en orden correlativo al que aparecen en la consulta -A[3..fin] los valores de los campos, en grupos de tamao A[1]

Ejemplo:

var records; try { records = AQSql.select("bancos.*", "bancos"); if (!records.length) return;

var size = records[0]; var nFields = records[1]; var fieldNames = records[2];

var rec = ""; for (var i = 0; i < nFields; ++i) rec += fieldNames[i] + " | "; print(rec); print("==============================================");

for (var i = 3; i <= size * nFields; i += nFields) { rec = ""; for (var j = 0; j < nFields; ++j) { rec += records[i + j] + " | "; } print(rec); } } catch (e) { sys.errorMsgBox("Error SQL: " + e); }

QValueList<QVariant> AQSql::selectForUpdate ( const QString select,
const QString from,
const QString where = QString::null,
bool  nowait = false,
const QString connName = "default" 
) [inline, slot]

Esencialmente hace lo mismo que AQSql::select(), pero con la diferencia que reservar un bloqueo sobre los registros que devuelve la consulta.

Si hay otro selectForUpdate anterior sobre los mismos o algunos registros que obtiene la consulta esta llamanda quedar en espera, bloqueada sobre esos registros, hasta que termine la transaccin que inici el otro selectForUpdate.

En PostgreSQL se puede utizar el parmetro 'nowait'. Si es TRUE y si al ejecutar la consulta se detecta que se va a caer en un bloqueo, es decir hay otro selectForUpdate anterior, no se bloquear la llamada, y se elevar una excepcin, terminando la transaccin en curso. El parmetro 'nowait' no tiene efecto para cualquier otra base de datos distinta a PostgreSQL.

bool AQSql::update ( FLSqlCursor cur,
const QStringList fields,
const QValueList< QVariant > &  values,
const QString where = "" 
) [inline, slot]

Actualiza un conjunto de registros de un cursor con nuevos valores

Si hay un error SQL, eleva una excepcin con el mensaje de error

Ejemplo:

var cur = new AQSqlCursor("clientes"); try { AQSql.update(cur, ["nombre","cifnif","codserie"], ["juan","ZYX","A"], "codcliente='1'"); } catch (e) { sys.errorMsgBox("Error SQL: " + e); }

bool AQSql::update ( const QString table,
const QStringList fields,
const QValueList< QVariant > &  values,
const QString where = "",
const QString connName = "default" 
) [inline, slot]

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