PreviousPDAC Programmer's Guide (9.1 revision 1) Next

PDAC Classes, Properties, Events, and Methods

Show this topic in Library frames

This section contains a listing of all the classes, properties, events, and methods present in the Pervasive Direct Access Components. All are listed in Pascal notation and show differences with their Borland counterpart components.

Exception Classes

Class EPvDatabaseError

This class is an ancestor for all exception classes in PDAC. It has the property `Owner' that contains a reference to the class that generated the exception.

Class EPvDBEngineError

This is an abstract base class for all DB engine error related classes. Property `Errors' lists the errors (in classes, derived from the TPvDBError class) and property `ErrorCount' indicates the total number of errors contained in the `Errors' property.

Class TPvDBError

TPvDBError is an abstract base class for all classes that represent database engine errors for the EPvDBEngineError exception class. It contains follow properties:

Class EPvDrmEngineError

Exceptions of this class are raised by the Btrieve subset of PDAC. Property `ErrorCode' is a DRM error code. The `Errors' array of EPvDrmEngineError contains objects with type TPvDrmError.

Class TPvDrmError

Class TPvDrmError describes a DRM error. In `ErrorCode' it contains a DRM error code, and in `NativeError' it contains a Btrieve status code.

Class EPvSqlEngineError

Exceptions of this class are raised by the SQL (relational) subset of PDAC. Property `ErrorCode' is the return value of the last ODBC call. The `Errors' array of EPvSqlEngineError contains objects with type TPvSqlError.

Class TPvSqlError

Class TPvSqlError describes ODBC errors.

Class EPvDbAdminEngineError

Exceptions of this class are raised during execution of DBNames and DSN management functions, such as `TPvSqlSession.AddAlias', on local and remote servers. It has an additional property ErrorType: TPvDbAdminEngineErrorTypes. If ErrorType = dbmeDTI then NativeError contains a DTI (Distributed Tuning Interface) error code, otherwise NativeError contains local error codes of DBNames and DSN related function (see EPvSqlInstallerEngineError and EPvOwnSqlInstallerEngineError).

Class EPvSqlInstallerEngineError

Exceptions of this class are raised during execution of DNSs management functions, such as `TPvSqlSession.AddAlias', on local servers, i.e. if TPvSqlSession.ServerName property is empty or has name of the local server. `NativeError' contains the value, returned by SQLInstallerError() function.

Class EPvOwnSqlInstallerEngineError

Because DSN management functions in some cases lack meaningful errors, exceptions of this class are provided to raised in order to introduce new types of errors. In the `NativeError' the following values are possible:

Supporting classes

Supporting classes are required by the higher-level components and encapsulate BDE-specific functionality. These classes are "cloned" in PDAC with as few changes as possible.

Class TPvSessionList/ TPvSqlSessionList

Classes TPvSessionList and TPvSqlSessionList manage session components in applications that provide multiple sessions. In this class only the types of contained objects (TSession to TPvSession or TPvSqlSession) have been changed.

Class TPvBlobStream/ TPvSQLBlobStream

Classes TPvBlobStream and TPvSQLBlobStream are stream objects that let applications read from or write to field objects that represent Binary large object (BLOB) fields. They function in the same way as the TBlobStream VCL class.

Classes TParam/TParams


Note
for Delphi/C++Builder 3 only

Class TParam represents a field parameter. Properties of a TParam are used to set the value of a parameter that represents the value of a field. TParams is list of the TParam objects. TParam and TParams in PDAC have no changes in their interface sections; they are only moved to the new file.

Class TMasterDataLink


Note
for Delphi/C++Builder 3 and 4 only

TMasterDataLink allows a dataset to establish a master/detail relationship. It has no changes in its interface section, and is only moved to a new file.

General Differences from VCL

Interfaces exposed by PDAC components correspond almost exactly to the appropriate VCL components, which work via the BDE. More detailed info about related VCL components is contained in the Delphi/C++Builder help system (file del?vcl.hlp or bcbvcl?.hlp, where ? is `3' or `4' or `5'). However, since some BDE features do not exist in Pervasive.SQL and some Pervasive.SQL features do not exist in the BDE, Pervasive has corrected these interfaces (dropped or added properties/methods/events). The listing below enumerates only those interfaces that have been changed. All other interfaces are "cloned" as-is.

Global variables

Instead of the BDE's `Session' and `Sessions' global variables, PDAC has its own global variables `BtvSession: TPvSession' and `BtvSessions: TPvSessionList' for the Btrieve subset and `PvSqlSession: TPvSqlSession' and `PvSqlSessions: TPvSqlSessionList' for the relational subset. They behave the same as the Session and Sessions variables and are created automatically on application startup and destroyed automatically on application shutdown.

Btrieve subset

In the Transactional subset, PDAC uses Pervasive.SQL `Named Databases' as aliases.

SQL subset

In the Relational subset, PDAC uses Data Source Names (DSNs) as aliases.

Specific Class Differences from VCL

The following sections contain specific differences from the Borland VCL.

TPvSession and TPvSqlSession

TPvSession specifics

TPvSqlSession specifics

TPvDatabase and TPvSqlDatabase

TPvDatabase specific

TPvSqlDatabase specific

TPvTable, TPvQuery, and TPvStoredProc

TPvTable specific

end

TPvQuery and TPvStoredProc specific

TPvQuery specific

TPvStoredProc specific

TPvUpdateSQL

TPvBatchMove


Chapter contents
Publication contents

Prev topic: Direct Access Components Reference
Next topic: Pervasive.SQL and Borland Data Types