VI

Delphi

DISQLite3 v5.54.0 for Delphi 11 - 13.0

DISQLite3 implements a self-contained, embeddable, zero-configuration SQL database engine for Delphi (Embarcadero / CodeGear / Borland).

O...

Description

DISQLite3 implements a self-contained, embeddable, zero-configuration SQL database engine for Delphi (Embarcadero / CodeGear / Borland).

Overview
ACID transactions, even after system crashes and power failures.
Zero-configuration – no setup or administration needed.
Implements most of SQL-92.
A complete database is stored in a single disk file.
Supports terabyte-sized databases and gigabyte-sized strings and blobs. Self-contained: no external dependencies, no DLLs.
Small footprint and smart linking: Only required code is compiled in, adding as little as 300 KB code space only.
Full Text Search (FTS) with customizable tokenizer, prefix matching, and optional word stemming for 30 languages.
Database AES encryption with SHA256 key generator.
Db.pas is not required, which allows DISQLite3 to compile with all flavours of Delphi, including Delphi Standard and Delphi Personal.
Faster than popular database engines for most common operations.
Simple, easy to use API.
Database files created with DISQLite3 can also be accessed by Linux and MacOS using the SQLite3 libraries.
SQL-92 Support
DISQLite3 Drive Catalog Demo ApplicationDISQLite3 understands most of the SQL-92 language standard:

ALTER TABLE
ANALYZE
ATTACH DATABASE
BEGIN TRANSACTION
Comments
COMMIT TRANSACTION
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
DELETE
DETACH DATABASE
DROP INDEX
DISQLite3 Mathematical Expression Evaluator Demo Applicationdrop TABLE
DROP TRIGGER
DROP VIEW
END TRANSACTION
EXPLAIN
Expressions
INSERT
ON CONFLICT clause
PRAGMA
REINDEX
REPLACE
ROLLBACK TRANSACTION
SELECT
UPDATE
VACUUM
The complete SQL syntax is described in full length in the DISQLite3 HTML Help, part of the installation package.

Simple Programming Interface
DISQLite3 Database Encryption Demo ApplicationDISQLite3 provides a comprehensive list of functions and procedures to manage database records with ease and efficiency. It includes the full SQLite3 functionality, plus a number of Delphi specific extras:

AnsiString, UnicodeString / WideString, and Variant support.
Database and Statement wrapper classes.
TDataSet support.
TStream support for BLOBs.
Growing number of Delphi example projects.
Despite of its rich set of features, a DISQLite3 database application can be realized with just three different function calls.

Pro and Personal Editions
DISQLite3 comes in two editions: DISQLite3 Personal and DISQLite3 Pro.

DISQLite3 Personal is free for personal, educational, and non-commercial use. It omits some functionality of DISQLite3 Pro, but does not compromize on essential features like ACID transactions, virtually unlimited database size, full text search, and others.

DISQLite3 Pro is required for commercial use and may be purchased online. It adds functionality usually desired by advanced users. This includes SQL triggers and views, arbitrary encryption passwords, user-defined SQL functions, and more. Since DISQLite3 Pro is fully compatible to the Personal edition, it is possible to upgrade existing projects without any code changes.

The feature chart is available for a side-by-side comparison of the two editions.

DISQLite3 v5.54.0 – 5 Nov 2025
Update to SQLite Version 3.51.0.

Two new JSON functions, jsonb_each and jsonb_tree work the same as the existing json_each() and json_tree() functions except that they return JSONB for the “value” column when the “type” is 'array' or 'object'.
Performance enhancements:
Use fewer CPU cycles to commit a read transaction.
Early detection of joins that return no rows due to one or more of the tables containing no rows.
Avoid evaluation of scalar subqueries if the result of the subquery does not change the result of the overall expression.
Faster window function queries when using BETWEEN :x FOLLOWING AND :y FOLLOWING with a large :y.
Add the PRAGMA wal_checkpoint=NOOP; command and the SQLITE_CHECKPOINT_NOOP argument for sqlite3_wal_checkpoint_v2.
Add the sqlite3_set_errmsg API for use by extensions.
Add the sqlite3_db_status64 API, which works just like the existing sqlite3_db_status API except that it returns 64-bit results.
Add the SQLITE_DBSTATUS_TEMPBUF_SPILL option to the sqlite3_db_status and sqlite3_db_status64 interfaces.
In the session extension, add the sqlite3changeset_apply_v3 interface.
For the built-in printf() and the format() SQL function, omit the leading '-' from negative floating point numbers if the '+' flag is omitted and the “#” flag is present and all displayed digits are '0'. Use '%#f' or similar to avoid outputs like '-0.00' and instead show just '0.00'.
Improved error messages generated by FTS5.
Enforce STRICT typing on computed columns.
Deprecate the LSM extension and the LSM database functions. All LSM code has been removed from SQLite.

Additional Information