Bde.DBTables.TDBError

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.TObjectTDBError

Delphi

TDBError = class

C++

class PASCALIMPLEMENTATION TDBError : public System::TObject

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables Bde.DBTables

Beschreibung

TDBError repräsentiert Fehler der Borland Database Engine für die Exception-Klasse EDBEngineError.

Das TDBError-Objekt ist ein Container für Informationen, die zu einem Datanbankfehler gehören. Die Eigenschaft Errors (EDBEngineError) enthält ein oder mehrere TDBError-Objekte.

Eine EDBEngineError-Exception wird ausgelöst, wenn die Borland Database Engine oder ein Datenbank-Backend, auf das über die BDE zugegriffen wurde, eine Fehlerbedingung bei der Ausführung einer Datenbankoperation produziert. Informationen (z.B. ein Fehlercode oder eine Fehlermeldung) über jeden an der Fehlerbedingung beteiligten Fehler werden von der BDE an das EDBEngineError-Objekt übergeben. Wenn der Fehler auf der Ebene eines Datenbanksystems (z.B. InterBase, Oracle oder Sybase) auftritt, auf das über die BDE zugegriffen wurde, wird die Fehlerinformation von der BDE an das Exception-Objekt der Anwendung weitergeleitet. EDBEngineError liest den Datenbank-Fehler-Stack und erstellt für jeden Fehler ein separates TDBError-Objekt. Diese TDBError-Objekte sind in der Eigenschaft Errors von EDBEngineError enthalten.

Stimmt eine Fehlerbedingung mit der einer Datenbank überein, auf die über die BDE zugegriffen wird, enthält Errors zwei TDBError-Objekte. Das erste ist die BDE-Version des Fehlers, das zweite die Version des Datenbanksystems. In beiden Fällen enthalten die Eigenschaften Category, ErrorCode und SubCode dieselben Werte: den BDE-Fehlercode für den Typ der Fehlerbedingung. Im TDBError-Objekt für die BDE-Version des Fehlers ist die Eigenschaft NativeCode leer und die Eigenschaft Message enthält die BDE-Fehlermeldung für den aufgetretenen Fehlertyp. Im TDBError-Objekt für die Datenbanksystem-Version des Fehlers enthält die Eigenschaft NativeCode den datenbanksystemspezifischen Fehlercode und die Eigenschaft Message den Text, der vom Datenbanksystem (nicht von der BDE) bereitgestellt wird.

Wenn beispielsweise eine Verletzung einer InterBase CHECK-Beschränkung (eine Fehlerbedingung, die in InterBase und nicht in der BDE entsteht) auftritt, lautet die Fehlermeldung der BDE "Allgemeiner SQL-Fehler", während die InterBase-Fehlermeldung mehr erläutert, wie z.B. "Operation verletzt CHECK-Beschränkung INTEG_30 in Ansicht oder Tabelle KUNDE".

Es ist auch möglich, dass nur BDE-Fehler in TDBError-Objekten enthalten sind. Dies tritt in der Regel nur ein, wenn lokale Tabellentypen (dBASE, Paradox und FoxPro) verwendet werden, die BDE das Datenbank-Backend ist und kein externes Datenbanksystem vorhanden ist.

Die Kategorien und Subcodes für BDE-Fehler sind in bde.int (Delphi) und bde.hpp (C++) definiert. Informationen über die Fehlercodes anderer Datenbanksysteme finden Sie in der Dokumentation dieser Systeme.

Siehe auch