AliasOf (exp)

De Wiki1000
(Différences entre les versions)
(Page créée avec « <source lang='delphi'>function AliasOf(const iClassName,iAttribute:string):string;</source> Cet opérateur retourne la colonne d'un attribut d'une jointure. Il s'utilise... »)
 
 
(Une révision intermédiaire par un utilisateur est masquée)
Ligne 11 : Ligne 11 :
 
|-
 
|-
 
|iClassName
 
|iClassName
|Classe de l'attribut
+
|Nom de la contrainte ou nom de la classe de l'attribut
 
|-
 
|-
 
|iAttribute
 
|iAttribute
Ligne 40 : Ligne 40 :
 
t0.unCodeA a été récupéré par l'opérateur AliasOf.
 
t0.unCodeA a été récupéré par l'opérateur AliasOf.
  
{{tip|Si il existe une ambigüité sur la jointure, par exemple la classe apparait dans plusieurs jointures, l'opérateur retourne la première jointure}}   
+
{{tip|AliasOf() ne peut être utilisé que sur la partir gauche du terme.}} 
 +
{{tip|Si iClassName est vide, l'opérateur retourne l'attribut de la classe de base du sélecteur.}} 
 +
{{tip|Si il existe une ambigüité sur la jointure, par exemple la classe apparait dans plusieurs jointures, l'opérateur retourne l'attribut de la première jointure.}}   
  
 
Voir aussi:
 
Voir aussi:

Version actuelle en date du 14 novembre 2016 à 09:22

function AliasOf(const iClassName,iAttribute:string):string;

Cet opérateur retourne la colonne d'un attribut d'une jointure.

Il s'utilise dans le cadre des contraintes de sélecteur.

Paramètre Usage
iClassName Nom de la contrainte ou nom de la classe de l'attribut
iAttribute Nom de l'attribut

Exemple :

function doSelector(const iCodeA:string; const iCodeB:string):Integer;
var selA:TSelector; obj:TObject;
begin
  selA := ClassA.CreateSelector('unCodeA=%1','unCodeA',True,[iCodeA]);
  obj  := selA.AddConstraint(nil, 'ClassB','oid','refB','unCodeB=%1',[iCodeB]);
  obj  := selA.AddConstraint(obj, 'ClassA2','refB','oid','AliasOf(''ClassA'',''unCodeA'')=unCodeA2',[]);
  Result := selA.Count;
end;

Le code SQL généré est :

select * from CLASSA t0 
join CLASSB t1 on t1.oid=t0.oidrefB and unCodeB='iCodeB'
join CLASSA2 t2 on t2.oidrefB = t1.oid and t0.unCodeA = t2.unCodeA2

t0.unCodeA a été récupéré par l'opérateur AliasOf.

Tip-20px.png Tip : AliasOf() ne peut être utilisé que sur la partir gauche du terme.
Tip-20px.png Tip : Si iClassName est vide, l'opérateur retourne l'attribut de la classe de base du sélecteur.
Tip-20px.png Tip : Si il existe une ambigüité sur la jointure, par exemple la classe apparait dans plusieurs jointures, l'opérateur retourne l'attribut de la première jointure.

Voir aussi:


Expressions objets (code)Développement DSM

Outils personnels