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. |