DevArt SQLite Data Access Components (LiteDAC) v3.0.2 Full Source

SQLite Data Access Components (LiteDAC) is a library of components that provides native connectivity to SQLite from Delphi and C++Builder including Community Edition, as well as Lazarus (and Free Pascal) on Windows, Linux, macOS, iOS, and Android for both 32-bit and 64-bit platforms. LiteDAC is designed for programmers to develop truly cross-platform desktop and mobile SQLite database applications with no need to deploy any additional libraries.

LiteDAC provides two ways of connection to SQLite from Delphi and other IDEs. One of them is common connection by means of the native SQLite client library. The second is a unique possibility of direct access using static linking of the client library in an application.

Native Connectivity to SQLite
LiteDAC-based DB applications are easy to deploy, do not require installation of other data provider layers (such as BDE or ODBC), and that’s why they can work faster than the ones based on standard Delphi data connectivity solutions. Moreover, LiteDAC provides an additional opportunity to work with SQLite in Delphi and C++Builder directly by linking of the client library statically in your application.

SQLite Encryption
To protect your data from unauthorized access, LiteDAC provides a powerful and customizable SQLite Database Encryption engine. You no longer have to spend money to buy expensive SQLite client libraries with support for encryption – with Static Linking, encryption support will be automatically added to your application and the following algorithms will be able to protect your data: AES, Blowfish, TripleDES, Cast128, RC4. LiteDAC allows to use any third-party SQLite library with SQLite Encryption support as well.

Cross-Platform Development in Delphi, C++Builder, and Lazarus
LiteDAC provides a possibility of cross-platform development using various IDEs: RAD Studio, Delphi, C++Builder, Lazarus (and FPC) on Windows, Linux, macOS, iOS, Android, and FreeBSD for both x86 and x64 platforms. LiteDAC also provides support for the FireMonkey platform, which allows you to develop visually spectacular high-performance desktop and mobile native applications.

Wide Coverage of SQLite Features
By providing access to the most advanced database functionality, LiteDAC allows developers to harness the full capabilities of the SQLite and optimize their database applications. LiteDAC supports such SQLite features as working with user-defined functions, database encryption, and more.

Static Linking
Linking the SQLite library statically in your application ensure, that your application uses exactly the same version of SQLite, with which it was developed and tested. Also it makes deployment easier.

Mobile Development
Develompent for iOS and Android mobile devices using LiteDAC becomes still easier, as LiteDAC allows your mobile applications to work with SQLite database as simply as desktop applications do.

64-bit Development
LiteDAC doesn’t limit your choice of the development platform. Now you can develop for 32-bit and 64-bit platforms with Delphi and Lazarus (and FPC).

IDE Compatibility
Our product is compatible with the latest IDE versions and editions including Community Edition: Embarcadero RAD Studio 10.3 Rio, Delphi 10.3 Rio, C++Builder 10.3 Rio, Lazarus (and FPC). It is also compatible with the previous IDE versions since Delphi 6 and C++Builder 6.

Data Type Mapping
If you want to make custom correspondence between SQLite and Delphi data types, you can use a simple and flexible Data Type Mapping engine provided by LiteDAC.

Development Platforms
Now you can develop not only VCL-based applications in Delphi and LCL-based ones in Lazarus, but also use the newest FireMonkey application development platform.

All our components and libraries are designed to help you write high-performance, lightweight data access layers, therefore they use advanced data access algorithms and techniques of optimization.

Use our freeware dbMonitor tool to monitor and analyze all the DB calls made by your application using SQLite data access components. dbMonitor performs per-component tracing of SQL statement execution, commits, rollbacks, etc.

General usability
Direct access to database. Does not require installation of other data provider layers (such as BDE and ODBC)
Interface compatible with standard data access methods, such as BDE and ADO
VCL, FMX, LCL development platforms are available
Separated run-time and GUI specific parts allow you to create pure console applications such as CGI
Unicode and national charset support

Network and connectivity
In Direct mode does not require the SQLite client software (it will be linked in an application statically) and works with a database directly
Disconnected Model with automatic connection control for working with data offline
Local Failover for detecting connection loss and implicitly reexecuting certain operations

Full support of the latest versions of SQLite
Direct mode support for Windows x32 and x64, MacOS, iOS and Android
Support for all SQLite data types
Support for Unix and Julian date and time formats
Compatible with all IDE versions starting with Delphi 6, C++Builder 6, except Delphi 8, and with Free Pascal
Includes provider for UniDAC Express Edition
Wide reporting component support, including support for InfoPower, ReportBuilder, FastReport
Support of all standard and third-party visual data-aware controls
Allows you to use Professional Edition of Delphi and C++Builder to develop client/server applications

SQLite technology support
SQLite database encryption in Direct mode using different encryption algorithms
Data Type Mapping
Support for automatic database creation on connect
Support for Shared-Cache mode
Support for SQLite user-defined functions
Support for SQLite user-defined collations
Support for SQLite extensions loaing
Support for SQLite R*Tree module
Support for SQLite FTS3 and FTS4 extensions
Support for autoincrement fields
Support for multi-SQL statements executing
Fast record insertion with the TLiteLoader component
Support for database backup using SQLite Online Backup API with the TLiteBackup component

High overall performance
Fast controlled fetch of large data blocks
Optimized string data storing
Advanced connection pooling
High performance of applying cached updates with batches
Caching of calculated and lookup fields
Fast Locate in a sorted DataSet
Preparing of user-defined update statements

Local data storage operations
Database-independent data storage with TVirtualTable component
CachedUpdates operation mode
Local sorting and filtering, including by calculated and lookup fields
Local master/detail relationship
Master/detail relationship in CachedUpdates mode

Data access and data management automation
Automatic data updating with TLiteQuery and TLiteTable components
Automatic record refreshing
Automatic query preparing
Support for ftWideMemo field type in Delphi 2006 and higher

Extended data access functionality
Data Encryption in a client application
Separate component for executing SQL statements
Simplified access to table data with TLiteTable component
Ability to retrieve metadata information with TLiteMetaData component
Support for using macros in SQL
FmtBCD fields support
Ability to customize update commands by attaching external components to TLiteUpdateSQL objects
Automatic retrieval of default field values
Deferred detail DataSet refresh in master/detail relationships
LiteDataAdapter component for WinForms and ASP.NET applications

Data exchange
Transferring data between all types of TDataSet descendants with TCRBatchMove component
Data export and import to/from XML (ADO format)
Ability to synchronize positions in different DataSets
Extended data management with TLiteDump components

Script execution
Advanced script execution features with TLiteScript component
Support for executing individual statements in scripts
Support for executing huge scripts stored in files with dynamic loading

SQL Execution monitoring
Extended SQL tracing capabilities provided by TLiteSQLMonitor component and dbMonitor
Borland SQL Monitor support
Ability to send messages to dbMonitor from any point in your program
Ability to retrieve information about the last query execution

Visual extensions
Includes source code of enhanced TCRDBGrid data-aware grid control
Customizable connection dialog
Cursor changes during non-blocking execution

Design-time enhancements
DataSet Manager tool to control DataSet instances in the project
Advanced design-time component and property editors
Automatic design-time component linking
More convenient data source setup with the TLiteDataSource component
Syntax highlighting in design-time editors

Product clarity
Complete documentation sets
Printable documentation in PDF format
A large amount of helpful demo projects