ZMSql is is an SQL enhanced in-memory database, operating with flat textual (csv) tables. Completely written in Pascal, it has no dependencies on external libraries.
You can download it from:
ZMSql package is based on TBufDataset and TJanSql components. It consists of two components: ZMConnection and ZMQueryDataset.
TZMConnection defines folder containing csv (comma-separated) tables with .txt extension. In ZMSql, « database » is a folder containing csv tables.
TZMQueryDataset is a TBufDataset descendent, using TJanSQL database engine for executing SQL queries on csv tables, SdfDataset for loading data from csv tables and Dbexporter for exporting its data to csv table.
ZMQueryDataset can load data both from csv table and from executed sql query. It can also copy data from some other dataset.
It introduces some new properties (SQLText, QueryExecuted, TableName, TableLoaded, TableSaved, PersistentSave) and methods(QueryExecute, EmptyDataSet, ClearDataSet, CopyFromDataset, SortDataset, LoadFromCSV, SaveToCSV) to its TBufDataset ancestor properties and methods.
Future plans:
- adding master/detail filtering
- enforcing refferential integrity
- improving JanSQL database engine
French
ZMLSQL est une librairie permettant de travailler avec des fichiers CSV, et de les mettre en mémoire.