Update (selector)
De Wiki1000
(Différences entre les versions)
(Page créée avec « <source lang='delphi'>function Update(const iUpdatePropNames:Array of string; const iUpdatePropValues:Array of variant):Integer;</source> Cette méthode met à jour les o... ») |
|||
Ligne 37 : | Ligne 37 : | ||
sel := ClassC.CreateSelector('unBool=%1','unEntierC',True,[False]); | sel := ClassC.CreateSelector('unBool=%1','unEntierC',True,[False]); | ||
Result := sel.Update(['unBool','uneDate'],[True,aDate]); | Result := sel.Update(['unBool','uneDate'],[True,aDate]); | ||
− | ClassManager. | + | ClassManager.CommitLongTran; |
except | except | ||
ClassManager.RollBackLongTran; | ClassManager.RollBackLongTran; | ||
+ | raise | ||
end; | end; | ||
end; | end; |
Version du 3 août 2016 à 13:47
function Update(const iUpdatePropNames:Array of string; const iUpdatePropValues:Array of variant):Integer;
Cette méthode met à jour les objets sélectionnés par le sélecteur
Paramètre | Usage |
---|---|
Result | Nombre d'objets affectés par l'opération |
iUpdatePropNames | Tableau de nom d'attribut devant être mis à jour dans la même opération |
iUpdatePropValues | Tableau de valeur pour les attributs mis à jour |
Cette fonction retourne le nombre d'objets affectés par l'opération.
- iUpdatePropnames,iUpdatePropValues
- C'est deux tableaux doivent avoir le même nombre d'élément et doivent référencer des attributs de la classe du sélecteur
Tip : L'opération est effectué par un ordre SQL en mode auto commit, si une transaction longue est ouverte la session de la transaction longue est utilisée. |
Exemple :
L'exemple suivant met à jour les objets de la classe ClassC pour lesquels unBool est faux.
function doUpdate(aDate:Tdatetime):Integer; var sel:TSelector; begin ClassManager.BeginLongTran(10,'ClassC'); try sel := ClassC.CreateSelector('unBool=%1','unEntierC',True,[False]); Result := sel.Update(['unBool','uneDate'],[True,aDate]); ClassManager.CommitLongTran; except ClassManager.RollBackLongTran; raise end; end;
Voir aussi :