Spécification de l'exécution automatique des transactions par la connexion

De RAD Studio
Aller à : navigation, rechercher

Remonter à Optimisation d'une connexion


Utilisez la propriété Attributes pour contrôler l'utilisation par le composant de la conservation de la validation ou de l'annulation. Lorsque le composant connexion utilise la conservation des validations, chaque fois que votre application valide une transaction, une nouvelle transaction est automatiquement démarrée. Lorsque le composant connexion utilise la conservation des annulations, chaque fois que votre application annule une transaction, une nouvelle transaction est automatiquement démarrée.

Attributes est un ensemble qui peut contenir aucune, l'une et/ou l'autre des constantes xaCommitRetaining et xaAbortRetaining. Lorsque Attributes contient xaCommitRetaining, la connexion utilise la conservation des validations. Lorsque Attributes contient xaAbortRetaining, elle utilise la conservation des annulations.

Pour tester si l'une ou l'autre de ces caractéristiques est déjà définie, utilisez l'opérateur in. Activez la conservation des validations ou des annulations en ajoutant la valeur appropriée à la propriété Attributes ou retirez-les en soustrayant la valeur. Les exemples de code suivant active et désactive, respectivement, la conservation des validations dans un composant connexion ADO.

procedure TForm1.RetainingCommitsOnButtonClick(Sender: TObject);
begin
  with ADOConnection1 do begin
    Close;
    if not (xaCommitRetaining in Attributes) then
      Attributes := (Attributes + [xaCommitRetaining])
    Open;
  end;
end;
procedure TForm1.RetainingCommitsOffButtonClick(Sender: TObject);
begin
  with ADOConnection1 do begin
    Close;
    if (xaCommitRetaining in Attributes) then
      Attributes := (Attributes - [xaCommitRetaining]);
    Open;
  end;
end;
void __fastcall TForm1::RetainingCommitsOnButtonClick(TObject *Sender)
{
  ADOConnection1->Close()
  if (!ADOConnection1->Attributes.Contains(xaCommitRetaining))
    ADOConnection1->Attributes = TXactAttributes() << xaCommitRetaining;
  ADOConnection1->Open()
}
void __fastcall TForm1::RetainingCommitsOffButtonClick(TObject *Sender)
{
  ADOConnection1->Close()
  if (ADOConnection1->Attributes.Contains(xaCommitRetaining))
    ADOConnection1->Attributes = TXactAttributes() >> xaCommitRetaining;
  ADOConnection1->Open()
}

Voir aussi