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)
FLSqlDatabase * database (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< QVariant > select (const QString &select, const QString &from, const QString &where=QString::null, const QString &orderBy=QString::null, const QString &connName="default")
QValueList< QVariant > selectForUpdate (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]

Añade una base de datos a las conexiones disponibles.

La base de datos será abierta. Si ya existiera una conexión con el mismo nombre la base datos correspondiente será cerrada y borrada, sustituyéndola 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 conexión
passwordContraseña para el usuario
hostNombre o dirección del servidor de la base de datos
portPuerto TCP de conexion
connectionNameNombre de la conexion
Devuelve:
TRUE si se pudo realizar la conexión, FALSE en caso contrario
bool AQSql::addDatabase ( FLSqlDatabase *  db,
const QString &  connectionName = "default" 
) [inline, slot]

Sobrecargada por conveniencia

Practicamente hace lo mismo que el método anterior pero utilizando una base de datos ya construida

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

Sobrecargada por conveniencia

Añade una base de datos a las conexiones disponibles utilizando los datos de otra conexión

Parámetros:
newConnNameNombre a utilizar para la nueva conexion
sourceConnNameNombre de una conexión existente a utilizar como origen de los datos de conexión
Devuelve:
TRUE si se pudo realizar la conexión, 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 excepción 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 excepción 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 información de la misma y el conjunto de registros obtenidos

Si hay un error SQL, eleva una excepción con el mensaje de error

Devuelve un array 'A' donde:

-A[0] contiene el número de registros -A[1] contiene el número 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 tamaño 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 transacción que inició el otro selectForUpdate.

En PostgreSQL se puede utizar el parámetro '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 excepción, terminando la transacción en curso. El parámetro '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 excepción 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'