Products Download Order Support Company

Visual Data Access | DADE Architecture

DADE supports a wide spectrum of database engines and data access component sets. ReportBuilder includes DADE plug-ins that support Delphi’s ADO, IBExpress, dbExpress, and BDE components. Advantage, DBISAM, and DOA (Direct Oracle Access) plug-ins are installed with the demos. Additional DADE plug-ins can be downloaded from the companion products page.

The object model below shows the primary classes used to support the plug-in architecture. The abstract ancestor classes are shown in yellow. The classes shown in blue represent the classes required to support a plug-in.

In this diagram, inheritance relationships are indicated by triangles. Where one class is associated with another class, a line is used. If the line terminates in a diamond shape, then it indicates that the class actually forms part of the internal implementation of the component. For instance, the TdaSQL class is part of the implementation of the TdaQueryDataView. The unit in which each class is declared is indicated by the text at the upper left corner of each containing shape.

Basic classes
The following classes represent the heart of DADE. By creating descendants of these classes, native support for any database product that supports SQL can be implemented.

Class Description
TdaDataView Dataviews represent a set of data and are visually created and maintained in the data workspace of the report designer. Internally, a dataview creates the data access objects necessary to connect a report to data. The interface from the dataview into the other workspaces of the report designer is composed of the data pipelines, which are contained by the dataview. A dataview must have at least one datapipeline. A typical dataview will contain one or more datapipelines, datasources, and datasets.

TdaSession Contains the methods needed by the TdaSQL class when editing (via the Query Wizard and Query Designer) and generating SQL. Provides the table names for a given database name and the database driver name (i.e. ‘Sybase’).
TdaDataSet Contains methods needed by the TdaSQL class for generating SQL. It is used to get the field names for a given table name and to check SQL statements for validity.
TdaSQL This is the main SQL editing and generation class. The Query Wizard, Query Designer, and DataViews rely on this component. As the SQL is designed visually, the SQL component maintains an object-based description of the SQL query. This description is used to generate the SQL. The SQL object is saved as part of query-based dataviews.
TdaCustomDataView This class further defines the dataview API and implements the capability to save the dataview as a set of objects.
TdaQueryDataView This class contains the association to the TdaSQL class.

Implementation classes
The following classes are used to implement BDE support within DADE. Non-BDE database products that replace the BDE can also be used with these classes.

Class Description
TdaBDESession Passes the method calls of the TdaSession class through to the Delphi Session object.
TdaBDEDataSet Passes the method calls of the TdaDataSet class through to standard Delphi TTable and TQuery components.
TdaBDEQueryDataView This class stores the results of work completed in the Query Wizard and Query Designer via the SQL object it contains. The SQL generated by the SQL object is assigned to a standard Delphi TQuery in this class.
TdaBDETemplateDataView This class can be used when custom dataview templates are needed. Dataview templates utilize a developer-supplied user-interface for the creation and modification of the dataview. This is generally done to replace the Query Wizard and Query Designer with a totally customized user-interface.
TdaBDEQueryTemplateDataView This class can be used when custom dataview templates that contain a query are needed.