Advanced Data Access Options
AnyDAC not only provides a consistent unified approach to accessing the back-end databases it supports, but also a wide range of advanced features that simplify the way that you work with data.
Automatic Connection Recovery
Some database applications work within a non stable network environment, where the network may be physically disconnected or the DBMS server may be restarted. Applications need to be able to seamlessly recover from such unexpected interruptions and continue to communicate with the DBMS.
The AnyDAC automatic connection recovery feature allows you to detect if the connection to the DBMS has been lost, and to properly respond and recover from this situation. The response may be to re-establish the connection, go into a special offline mode, or simply close the connection.
International applications support
Most enterprise-class database applications must be able to work with character data encoded in different character sets or provided as Unicode.
AnyDAC provides seamless support for different single byte client character sets and code pages, as well multi-byte strings such as Unicode, UCS2 and UTF8.
Complete Control over Data Access Behavior
The more complex a database application gets, the more requirements are needed from the data access library. Some of these requirements may change dynamically. This means, that a data access library must offer options to control all aspects of the library's functionality.
AnyDAC has more than 60 options, which control almost all aspects of data access functionality: from fetching rows to applying updates to resources usage and data types handling. The option values are inheritable from manager (the top level component) to connections and datasets, allowing the developer to decide at which level to control each particular behavior.
Rich and Flexible Library API
With the introduction of Delphi 1, the API of the Borland Database Engine (BDE) for data access components became the de facto standard for every data access library, and most DAC libraries not only also copied its architecture, but also its limitations.
AnyDAC avoids this mistake, by introducing new very powerful methods, properties and features, while at the same time preserving the compatibility with standard TDataSet behavior.
All AnyDAC datasets, including the memory tables, support the following features:
- One of the fastest datasets around.
- Full expression filtering, using an Oracle-like expression syntax.
- Advanced index support including filtered indexes, online or offline indexes, expression indexes and more.
- Full support for search and locate with or without indexes; from the beginning of the dataset or from the current position; using classic field comparison or expression predicate evaluation.
- Full range of data types supported, including high precision number, blobs and nested datasets.
- Full support for the same physical data shared across several datasets.
- Full support for data versioning.
- Full support for data persistence, including support for XML and binary data formats.
and much more …
For example, to filter a dataset by the substring value of a field, a programmer can use the OnFilterRecord event handler. AnyDAC support is similar to the Oracle expression syntax, allowing to you to write:
As another example, one of the most annoying limitations of standard TDataSets is the restriction of the the Locate and Lookup methods to search only by field values. AnyDAC's LocateEx and LookupEx methods allow searching for records using more complex expressions: