AddColumn (selector)

De Wiki1000
Révision datée du 13 novembre 2016 à 16:44 par Syfre (discussion | contributions) (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... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

{{#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
 ...

end; </source>

Voir aussi :

{{#if:Selecteur (tech)|

{{#if:Selecteur (tech)|— Selecteur (tech) |}} — Développement DSM

|

{{#if:|— [[{{{1}}}]] |}} — Développement DSM

}}