Eneboo - Documentación para desarrolladores
|
#include <FLRelationMetaData.h>
Tipos públicos | |
enum | Cardinality { RELATION_1M = 0, RELATION_M1 = 1 } |
Métodos públicos | |
FLRelationMetaData (const QString &fT, const QString &fF, int rC, bool dC=false, bool uC=false, bool cI=true) | |
~FLRelationMetaData () | |
void | setField (const QString &fN) |
QString | field () const |
QString | foreignTable () const |
QString | foreignField () const |
int | cardinality () const |
bool | deleteCascade () const |
bool | updateCascade () const |
bool | checkIn () |
Mantiene la descripcion/metadatos de las relaciones de un campo.
Esta clase solo tiene sentido cuando es parte de un objeto FLFieldMetaData.
IMPORTANTE: Aunque las relaciones grficamente slo se dibujan en un sentido , ya que el otro se obvia, cuando haya que definirlas con cdigo es preciso indicar la relacin en ambos sentidos.
Ejemplo:Si tenemos ALMACENES <-M----1> PAISES, tenemos que especificar que ALMACENES est relacionado M1 con PAISES, y tambin que PAISES esta relacionado 1M con ALMACENES, en cdigo quedara as:
.... FLTableMetaData *tmd = new FLTableMetaData (n, tr ("Almacenes"), "almacenes.ui"); FLFieldMetaData *f; FLRelationMetaData *r; f = new FLFieldMetaData ("codpais", tr ("Pais"), true, false, QVariant::String, 3); r = new FLRelationMetaData ("flpaises", "codpais", FLRelationMetaData::RELATION_M1); f->addRelationMD (r); tmd->addFieldMD (f); ....
.... FLTableMetaData *tmd = new FLTableMetaData (n, tr ("Paises"), "paises.ui"); FLFieldMetaData *f; FLRelationMetaData *r; f = new FLFieldMetaData ("codpais", tr ("Cdigo"), false, true, QVariant::String, 20); r = new FLRelationMetaData ("flalmacenes", "codpais", FLRelationMetaData::RELATION_1M); f->addRelationMD (r); tmd->addFieldMD (f); ....
FLRelationMetaData::FLRelationMetaData | ( | const QString & | fT, |
const QString & | fF, | ||
int | rC, | ||
bool | dC = false , |
||
bool | uC = false , |
||
bool | cI = true |
||
) |
constructor
fT | Tabla fornea relacionada |
fF | Campo forneo relacionado |
rC | Cardinalidad de la relacion |
dC | Borrado en cascada, slo se tiene en cuenta en cardinalidades M1 |
uC | Actualizaciones en cascada, slo se tiene en cuenta en cardinalidades M1 |
cI | Chequeos de integridad sobre la relacion |
FLRelationMetaData::~FLRelationMetaData | ( | ) |
destructor
int FLRelationMetaData::cardinality | ( | ) | const [inline] |
Obtiene la cardinalidad de la relacion.
bool FLRelationMetaData::checkIn | ( | ) | [inline] |
Obtiene si se deben aplicar la reglas de integridad sobre la relacin
bool FLRelationMetaData::deleteCascade | ( | ) | const [inline] |
Obtiene si la relacin implica borrados en cascada, slo se tiene en cuenta en cardinalidades M1.
QString FLRelationMetaData::field | ( | ) | const [inline] |
Obtiene en el nombre del campo de la relacion.
QString FLRelationMetaData::foreignField | ( | ) | const [inline] |
Obtiene el nombre de la campo forneo.
QString FLRelationMetaData::foreignTable | ( | ) | const [inline] |
Obtiene el nombre de la tabla fornea.
void FLRelationMetaData::setField | ( | const QString & | fN | ) | [inline] |
Establece el nombre del campo relacionado.
fN | Nombre del campo relacionado |
bool FLRelationMetaData::updateCascade | ( | ) | const [inline] |
Obtiene si la relacin implica modificaciones en cascada, slo se tiene en cuenta en cardinalidades M1.