Subject Re: [IBO] What is the main difference Betrween IBOTDataset and Native IBO Dataset
Author Helen Borrie
At 11:53 AM 12-07-01 +0300, you wrote:
>Same as Subject...
>and which do you suggest....

Here we go -
The TDataset-Compatible Classes

If it suits your temporary or permanent requirements best, you can choose to develop with a suite of data access classes inherited from TDataset. This suite completely replaces the VCL equivalents, while retaining complete compatibility with the VCL data-aware controls and third-party control suites through the VCL TDatasource. Additionally, the TIBOQuery and TIBOTable classes are wrapped around a "native IBO" dataset. Several highly useful server-centric features of the native datasets are surfaced for design-time or run-time use.

These components are often used as an aid to "soft" transition from the BDE to IB Objects. Although an eventual full transition to the full capabilities of InterBase client development is the course many developers wish to take, it is perfectly feasible to use the TIBO strain as an easy replacement for the BDE in an existing application, to enhance performance, stability and server-side capability.

Developers maintaining a BDE-based application code base designed to work with different databases can easily generate an optimal, IBO-based version for InterBase by preparing quick conversion templates for global search and replace of units and class names.

Converting an Existing BDE Application
Converting an existing BDE application to use these data access components instead of TDatabase, TTable and TQuery is a straight swap that can be accomplished in less than five minutes with the assistance of the free GReplace tool from the open source GExperts project. IBO comes with a kit of instructions for performing the conversion and two trial projects which you can convert first for practice.

NEW IN RELEASE 4: Substantial changes to horizontal dataset refinement affect the entire architecture and have their most dramatic effect on navigation of TIBOTable and base queries which could output a significantly large dataset, for example, more than 100K rows. As you issue commands to the dataset to navigate among these rows IBO will automatically do the refinement necessary to pull in only those rows that are of interest.

As long as you have proper indexes, any dataset navigation commands should complete within one or two seconds. It makes using components like InfoPower totally rock with the TDataset-compatible data access classes. Incremental searching, for example, is amazingly fast.

The "Native IB Objects" Components

To harness the full server-centric capabilities of IBO, you can develop database applications that are completely free of dependency on the desktop memory model of the Delphi VCL's TDataset class and employ a rich array of "native IBO" data-aware UI controls specialized for making client/server-friendly dynamic interfaces.

Many features not found in other data-aware components are built right into these. Very robust and wide-ranging search and re-order mechanisms operate at dataset level to provide for full incremental or near-match searching and on-the-fly grid reorganization, without writing a single line of application code. Controls integrate tightly with data attributes and behaviors defined in the dataset and connection objects to facilitate rapid development and standardized behavior for the client/server interface.

Display attributes and client-side behaviors of data are set and controlled in the datasets themselves, specifically through properties and methods of Column classes. Grids, for example, do not surface a Columns object; instead, grid column behavior is controlled by the Row class of the dataset and its Column objects. A dataset row column given the BOOLEAN attribute will appear in grids as a checkbox.

Standard control behavior requires no special handler code or changes to property defaults.

The native data-aware controls embed the code to utilize dataset configurations and interact with changes in dataset state, e.g. the "Query-by-Example" behavior of the specialized search controls.


All for Open and Open for All
InterBase Developer Initiative ยท