AddColumn (selector)
De Wiki1000
procedure AddColumn(const iSqlColumn,iSqlAlias);
Cette méthode permet d'ajouter une colonne au résultat de la requête qui sera exécutée.
Paramètre | Usage |
---|---|
iSqlColumn | Le nom de la colonne dans la requête (préfixé de l'alias de table) |
iSqlAlias | Le nom d'alias SQL de la colonne, sera le nom de colonne dans le résultat. |
En général, cette méthode s'utilise avec une contrainte appliquée à une vue.
On peut ainsi recupérer une valeur issue d'une table liée et la manipuler dans la vue.
Pour cela :
- Prédéfinir la variable dans la vue
- Faire un sélecteur sur la vue
- Ajouter une contrainte au sélecteur
- Ajouter la colonne issue de la contrainte avec comme nom d'alias de colonne le nom de l'attribut de la vue
Exemple :
Type ClassA = class codeA: string; end; ClassB = class codeB: string; CRef: ClassC; end; ClassC = class codeC: string; end; procedure foo(); Type MyView = viewOf(ClassA) unCodeA : string = codeA; refC: ClassC; // Reference defined as a variable end; var inst:MyView; sel:TSelector; c1:TSelectorConstraint begin sel := MyView.CreateSelector(....); c1 := sel.AddConstraint('ClassB','codeB','unCodeA','',[]); // join (table alias t1) ClassA and ClassB on codeA=codeB sel.AddColumn(c1.AliasOf('oidCRef'),'oidRefC'); // Add the column t1.oidCRef in the result set ... foreach inst in sel.AsList do begin if Assigned(inst.refC) then begin // The reference is defined // oidrefC has been set to the value of oidCRef of the join ClassB // end; end; end;
Voir aussi :