Bde.DBTables.TDBError

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.TObjectTDBError

Delphi

TDBError = class

C++

class PASCALIMPLEMENTATION TDBError : public System::TObject

Propriétés

Type Visibilité  Source Unité  Parent
class public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables Bde.DBTables

Description

TDBError représente les erreurs du moteur de bases de données Borland (BDE) pour la classe d'exceptions EDBEngineError.

L'objet TDBError est un conteneur des informations appartenant à une erreur de base de données. Un ou plusieurs objets TDBError sont contenus dans la propriété Errors (EDBEngineError).

Une exception EDBEngineError est déclenchée quand le moteur de Database Borland (BDE) ou un dorsal de base de données dont l'accès s'effectue via le BDE produit une condition d'erreur sur l'exécution d'une opération de base de données. Les informations sur chaque erreur impliquée dans une condition d'erreur (comme une code d'erreur et un message d'erreur) sont transmises par le BDE à l'objet EDBEngineError. Si l'erreur se produit au niveau du système de base de données dont l'accès s'effectue via le BDE (comme InterBase, Oracle ou Sybase), les informations d'erreur sont transmises via le BDE à l'objet exception de l'application. EDBEngineError lit la pile d'erreurs du moteur de bases de données et crée un objet TDBError séparé pour représenter chaque erreur. Ces objets TDBError sont contenus dans la propriété Errors de EDBEngineError.

Lorsqu'une condition d'erreur prend son origine avec un système de base de données dont l'accès s'effectue via le BDE, il y aura normalement deux objets TDBError dans Errors. Le premier sera la version BDE de l'erreur et le deuxième la version du système de base de données de la même erreur. Dans les deux cas, les propriétés Category, ErrorCode et SubCode contiennent les mêmes valeurs : le code d'erreur BDE pour le type particulier de condition d'erreur. Dans l'objet TDBError de la version du BDE de l'erreur, la propriété NativeCode est vide et le texte de la propriété Message contient le message d'erreur BDE du type d'erreur s'étant produite. Dans l'objet TDBError pour la version du système de base de données de l'erreur, la propriété NativeCode contient le code d'erreur spécifique aux systèmes de bases de données et le texte de la propriété Message fourni par le système de base de données (et non par le BDE).

Par exemple, quand une violation d'une contrainte InterBase CHECK se produit (une condition d'erreur qui prend son origine avec InterBase et non le BDE), le message d'erreur fourni par le BDE est le générique "Erreur générale SQL," alors que le message d'erreur fourni par InterBase est plus explicite.

Il est également possible de n'avoir que des erreurs de type BDE dans les objets TDBError. Ce n'est normalement applicable que pour des types de table locale (dBASE, Paradox et FoxPro), où le BDE représente le dorsal de base de données et qu'aucun système de base de données externe n'est utilisé.

Les catégories et sous-codes des erreurs BDE sont définis dans bde.int (Delphi) ou bde.hpp (C++). Pour des informations sur les erreurs fournies par un système de base de données autre que le BDE, consultez la documentation fournie par votre revendeur pour la définition ou la clarification du système de base de données spécifique.

Voir aussi