Gestion des erreurs relatives aux actions groupées

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation de TBatchMove - Index

Remarque : Le moteur de base de données Borland (BDE, Borland Database Engine) a été déprécié. Il ne sera donc pas amélioré. Par exemple, le BDE ne prendra jamais en charge Unicode. Vous ne devriez pas entreprendre de nouveaux développements avec BDE. Prévoyez plutôt de migrer vos applications de bases de données existantes de BDE vers dbExpress.

Deux types d'erreurs peuvent survenir dans une opération action groupée : les erreurs de conversion de type de données et les violations d'intégrité. Bde.DBTables.TBatchMove possède plusieurs propriétés indiquant comment ces erreurs doivent être traitées.

La propriété AbortOnProblem spécifie s'il faut arrêter l'opération quand une erreur de conversion de type de données survient. Si AbortOnProblem est à True, l'opération est annulée si une erreur survient. Si elle est à False, l'opération continue. Vous pouvez examiner la table spécifiée dans la propriété ProblemTableName pour déterminer les enregistrements ayant posé problème.

La propriété AbortOnKeyViol indique s'il faut arrêter l'opération quand une violation de clé Paradox survient.

La propriété ProblemCount indique le nombre d'enregistrements qui n'ont pas pu être gérés dans la table destination sans perte de données. Si AbortOnProblem est à True, ce nombre vaut 1, puisque l'opération est arrêtée quand une erreur survient.

Les propriétés suivantes permettent à un composant action groupée de créer des tables supplémentaires documentant l'opération effectuée :

  • ChangedTableName, si spécifiée, crée une table Paradox locale contenant tous les enregistrements de la table destination qui ont été modifiés suite à des opérations impliquant une suppression ou des mises à jour.
  • KeyViolTableName, si spécifiée, crée une table Paradox locale contenant tous les enregistrements de la table source ayant généré une violation de clé lors de la manipulation d'une table Paradox. Si AbortOnKeyViol est à True, cette table contiendra au plus une entrée, puisque l'opération est arrêtée au premier problème rencontré.
  • ProblemTableName, si spécifiée, crée une table Paradox locale contenant tous les enregistrements n'ayant pu être validés dans la table destination à cause d'erreurs de conversion de type de données. Par exemple, la table pourrait contenir les enregistrements de la table source dont les données ont du être tronquées pour tenir dans la table destination. Si AbortOnProblem est à True, cette table contiendra au plus un enregistrement puisque l'opération est arrêtée au premier problème rencontré.

Remarque :  Si ProblemTableName n'est pas spécifiée, les données de l'enregistrement sont tronquées et placées dans la table destination.

Voir aussi