BeginLongTran (CM)
De Wiki1000
(Différences entre les versions)
(Nouvelle page : <source lang='delphi'>procedure BeginTranLongTran(iBatchSize:Integer; iParam:Variant);</source> Démarre une transaction longue. {|class="wikitable" |- |iBatchSize |Taille de lot. ...) |
|||
Ligne 6 : | Ligne 6 : | ||
|- | |- | ||
|iBatchSize | |iBatchSize | ||
− | |Taille de lot. | + | |Taille de lot minimum. |
|- | |- | ||
|iParam | |iParam | ||
Ligne 14 : | Ligne 14 : | ||
*Un chaîne nom de classe. | *Un chaîne nom de classe. | ||
|} | |} | ||
+ | |||
+ | {{tip|iBatchSize indique la taille de lot minimum, si BatchLongTran est appelé alors que le nombre d'instance en transaction est inférieur à iBatchSize alors BatchLongTran est ignoré}} | ||
Exemple | Exemple | ||
Ligne 24 : | Ligne 26 : | ||
begin | begin | ||
doProcessItem(idx); | doProcessItem(idx); | ||
− | ClassManager.BatchLongTran; | + | if idx mod 100 =0 then ClassManager.BatchLongTran; |
end; | end; | ||
ClassManager.CommitLongTran; | ClassManager.CommitLongTran; | ||
Ligne 34 : | Ligne 36 : | ||
</source> | </source> | ||
− | Voir aussi | + | Voir aussi : |
+ | |||
+ | * [[BatchLongTran (CM)|BatchLongTran]] | ||
+ | * [[CommitLongTran (CM)|CommitLongTran]] | ||
+ | * [[RollBackLongTran (CM)|RollBackLongTran]] | ||
{{Footer|Gestion des transactions (CM)}} | {{Footer|Gestion des transactions (CM)}} | ||
[[category:ClassManager]] | [[category:ClassManager]] | ||
[[category:CMT]] | [[category:CMT]] |
Version du 8 janvier 2010 à 13:40
procedure BeginTranLongTran(iBatchSize:Integer; iParam:Variant);
Démarre une transaction longue.
iBatchSize | Taille de lot minimum. |
iParam | Paramètre indiquant une classe métier.
Ce paramètre peut être :
|
Tip : iBatchSize indique la taille de lot minimum, si BatchLongTran est appelé alors que le nombre d'instance en transaction est inférieur à iBatchSize alors BatchLongTran est ignoré |
Exemple
var idx:Integer; begin ClassManager.BeginLonTran(100,'MaClass'); try for idx:=0 to VeryBigInt do begin doProcessItem(idx); if idx mod 100 =0 then ClassManager.BatchLongTran; end; ClassManager.CommitLongTran; except ClassManager.RollBackLongTran; raise; end; end;
Voir aussi :