« AddColumn (selector) » : différence entre les versions
(Page créée avec « {{latest}} <source lang='delphi'>procedure AddColumn(const iSqlColumn,iSqlAlias);</source> Cette méthode permet d'ajouter une colonne au résultat de la requête qui ser... ») |
Aucun résumé des modifications |
||
Ligne 56 : | Ligne 56 : | ||
sel.AddColumn(c1.AliasOf('oidCRef'),'oidRefC'); // Add the column t1.oidCRef in the result set | 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; | end; | ||
</source> | </source> |
Version du 13 novembre 2016 à 17:16
{{#images:versionlatest-32x32.png|stock}} <source lang='delphi'>procedure AddColumn(const iSqlColumn,iSqlAlias);</source>
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 :
<source lang="delphi"> 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 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; </source>
Voir aussi :
{{#if:Selecteur (tech)|
{{#if:Selecteur (tech)|— Selecteur (tech) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}