System requirements and compatibility with other products
BDE and third-party database engines are not required.
Compatible with Borland InterBase 4.x-7.x, Firebird 1.x-2.x and Yaffil.
Only GDS32.DLL (FBCLIENT.DLL) is required.
Support of Borland Delphi 5-7, BDS 2005-2007 (Turbo Delphi and Turbo C++), Borland C++ Builder 5-6 and Borland Kylix 3.
Support of any standard (TDBGrid, TDBEdit, etc) and third-party visual data-aware controls (InfoPower, DevExpress, EhLib, IntraWeb, ASTA, etc).
Support of any report generators: FastReport, QuickReport, ReportBuilder, etc
Components and tools
13 non-visual general components: TpFIBDatabase, TpFIBTransaction, TpFIBDataSet, TpFIBQuery, TpFIBStoredProc, TpFIBUpdateObject, TDataSetContainer, TpFIBErrorHandler, TFIBSQLMonitor, TSIBFIBEventAlerter, TpFIBStatistic, TpFIBClientDataSet and TpFIBDataSetProvider.
11 additional non-visual components for administration purposes: TpFIBServerProperties, TpFIBConfigService, TpFIBLicensingService, TpFIBLogService, TpFIBStatisticalService, TpFIBBackupService, TpFIBRestoreService, TpFIBValidationService, TpFIBSecurityService, TpFIBInstall and TpFIBUnInstall. Administration components require InterBase servers, which support Services API.
Special design-time experts - FIBPlus Tools. FIBPlus Tools include FIBPlus Preferences and SQL Navigator experts. All experts in the compiled form are available for download and the registered FIBPlus version includes FIBPlus Tools sources.
Database connection features
Easy connection to local and remote InterBase servers with the help of TpFIBDatabase.
Support of SQLRole for connection
Full support of SQLDialect 1 and SQLDialect 3 in applications, a special UpperOldNames option for easier migration of existing applications to SQL Dialect 3.
The capability to save connection options in the system registry: a user's name, SQL Dialect and a path to a database.
Getting all database details with the help of special properties and methods: DBSQLDialect, ForcedWrites, NumBuffers, ODSMinorVersin and ODSMajorVersion, etc.
Support of re-connection to a database if the connection has been lost. This requires use of TpFIBDataSet.CachedUpdates to apply user's data changes to the restored connection.
Correct work of components in case of the lost database connection.
Transaction use and control
Full explicit transaction mechanism for manual and automatic use and control by TpFIBTransaction.
Support of Commit, Rollback, CommitRetaining and RollbackRetaining methods.
Unlimited number of transaction components in the application.
Two-phase commit support.
Optional automatic transaction start before TpFIBDataSet and TpFIBQuery opening.
Easy set of isolation levels (TpFIBTransaction.TPBMode - tpbDefault, tpbReadCommitted or tpbRepeatableRead) and creation of user's defined sets of transaction parameters in design-time (TpFIBTransaction.UserKindTransaction).
Unique capability of use of two separate transactions in TpFIBDataSet. You can select all records in the context of one long read-only transaction and make all data modifications in the context of a separate short writing transaction. This helps to avoid DEADLOCK in multiple concurent user environment.
Optional auto-commit mode in the TpFIBDataSet and TpFIBQuery components.
Control over uncommited data changes in TpFIBDataSet (the HasUncommitedChanges property).
Visual data manipulation
Buffered and completely scrollable data set with the help of TpFIBDataSet. As TpFIBDataSet is a descendant of TDataSet, it works well with all data-aware components (including third party component libraries): TDBGrid, TDBEdit, etc.
Easy generation of modifying queries on basis of TpFIBDataSet.SelectSQL and making TpFIBDataSet editable with the help of design-time SQL Generator.
Automatic generation of modifying queries on basis of TpFIBDataSet.SelectSQL in run-time after opening TpFIBDataSet. Automatic generation of modifying queries after changing record fields. Result modyfing query will include only changed fields.
Robust support of auto-increment fields with the help of TpFIBDataSet.AutoUpdateOptions.
Control of allowed modifying operations with the help of TpFIBDataSet.AllowedUpdateKinds.
Automatic set of user's defined field display and edit formats for numeric and date/time fields (the DefaultFormats property).
Support of local filtering mode: selecting records in TpFIBDataSet without re-opening of a query.
Support of local data sorting: re-ordering records in TpFIBDataSet without re-opening of a query.
Optimized support of BLOB-fields in TpFIBDataSet.
Local BLOB-filters support can be used for transparent packing, coding or encryption of BLOB-fields in the client applications.
Correct support of new InterBase 6 data types: DATE, TIME, TIMESTAMP and INT64.
Capability of optional pessimistic record locking mode (poProtectedEdit in TpFIBDataSet.Options).
Optional mode of getting record count for SelectSQL without fetching all records to the client application.
Unique features and options for optimization of master-detail mechanism. Reduction of unnecessary net-traffic during master navigation, automatic set of linked fields in detail datasets, optional automatic refresh of master-record if detail has been changed.
Getting of default field values from a server and setting other important options for NOT NULL and server-side calculated fields.
Correct support of CachedUpdates mode. TpFIBDataSet does not requre an open connection and an active transaction in CachedUpdates mode. This is required only when application needs to apply all made changes to a database.
Unique capability to use macroses in SelectSQL. It helps to create queries dynamically. For example, this is correct use of macroses: "SELECT @FIELD_NAME FROM @TABLE_NAME".
Automatic replacement of "IS NULL" instead of the "?Param = null" record into a query text if a parameter value equals null. Probably InterBase will not find the necessary record if such replacement has not been made.
The capability of changing modifying queries (InsertSQL, UpdateSQL, DeleteSQL, RefreshSQL) without query reopening.
The capability of watching and breaking off the process of records fetching from a server.
Quick Data Operations
Direct SQL statements execution with the help of TpFIBQuery.
Packet record processing in the TpFIBQuery.BatchInput, TpFIBQuery.BatchOutput methods.
Fast and efficient non-buffered select of records in TpFIBQuery.
Direct execution of stored procedures by TpFIBQuery.ExecProcedure method.
Convenient processing of BLOB-fields.
Special features and components
Full-functional work with array fields in TpFIBDataSet and TpFIBQuery.
Optional boolean field emulation in TpFIBDataSet.
The capability of work with Origin and Domain for a field in TpFIBDataSet, which enables to write more flexible data handle.
Saving of values of old parameters after changing the text in TpFIBDataSet.SelectSQL.
The capability to handle centralized events of several TpFIBDataSet and send them internal messages by the TDataSetContainer component.
Client-side triggers analogues - the unique capability to create complex queues of data update in live queries by TpFIBUpdateObject components. TpFIBUpdateObject can be used in the context of different transactions and even together with different database connections. This enables to organize complex but easy-to-understand algorithms of data modification and "parallel" database synchronization.
Due to the TpFIBErrorHandler component the capability of centralized handling of errors which appear while working with InterBase.
Getting detail queries statistics and increasing application performance with the help of the TpFIBStatistic component: count of query executions, total execution time, average execution time, longest execution time and time of a last query.
Support of InterBase events (TSIBFIBEventAlerter).
Integrated support of FIBPlus Data Repository. It enables you to fill such properties of TpFIBDataSet fields as DisplayLabel, EditFormat, DisplayFormat, DisplayWidth and Visible automatically. It also enables to store all queries in a database and put them to the corresponding TpFIBDataSet component with the help of the DataSet_ID property. Implementation of FIBPlus Data Repository enables users to store any additional options in a database and easily use them.
Design-time tools, component and property editors
Connection parameter editor (TpFIBDataBase editor) with support of database aliases and integrated testing of connection parameters.
Integrated FIBPlus Data Repository Editor (TpFIBDataBase editor), which enables users to edit table field properties.
SQL Generator (TpFIBDataSet editor) enables users to generate, modify, check and save all queries in TpFIBDataSet (SelectSQL, UpdateSQL, InsertSQL, DeleteSQL and RefreshSQL).
Transaction Parameters Editor (TpFIBTransaction editor). It enables users to create, modify and delete user's defined transaction parameter sets for TpFIBTransaction.UserKindTransaction. Transaction Parameters Editor stores all parameter sets in the system registry and supports export/import operations with external INI-files.
FIBPlus Preference Expert (FIBPlus Tools) enables users to set all necessary default values for TpFIBDataSet, TpFIBDataBase, TpFIBTransaction and TpFIBQuery options. Default values will be applied to all new components placed on the form. Use FIBPlus Preference to increase the efficiency of application development.
SQL Navigator Expert (FIBPlus Tools) is an instrument of centralized SQL handling in the whole application. SQLNavigator looks over all application forms and picks out those, which contain FIBPlus components for work with SQL: TpFIBDataSet, TpFIBQuery, TpFIBUpdateObject and TpFIBStoredProc. Use SQL Navigator to find, modify, check and save all necessary SQL statements in your application.
Support of national character sets of the database with the help of the TpFIBDataBase.ConnectParams.CharSet property.