https://github.com/hemulgm/sqlite
SQLite Lang - БД провайдер и Конструктор запросов
https://github.com/hemulgm/sqlite
aes-256 delphi sql sql-query-builder sqlite sqlite3
Last synced: 18 days ago
JSON representation
SQLite Lang - БД провайдер и Конструктор запросов
- Host: GitHub
- URL: https://github.com/hemulgm/sqlite
- Owner: HemulGM
- Created: 2018-09-10T09:17:23.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T09:16:43.000Z (almost 3 years ago)
- Last Synced: 2025-04-29T16:48:36.618Z (5 months ago)
- Topics: aes-256, delphi, sql, sql-query-builder, sqlite, sqlite3
- Language: Pascal
- Homepage: https://hemulgm.github.io/SQLite/
- Size: 2.98 MB
- Stars: 15
- Watchers: 4
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SQLite - БД провайдер и Конструктор запросов для Delphi
Модуль и интерфейс для работы с файловой базой данных sqlite
Модуль позволяет выполнить подключение к файлу БД через библиотеку SqliteEx.dll (Библиотека с возможностью шифрования БД AES-256)
Конструктор позволяет составить запрос посредством кода Delphi (SQL.Select, SQL.Delete, SQL.Update ...)
Конструктор избавляет от написания запросов и хранения его в коде.Доступные конструкции: *select, update, delete, insert into, drop table, create table, where, order by, left | inner | outer | right join, pragma, incfield\*, decfield\*.*
**SELECT**
```Delphi
with SQL.Select(tnTableName, [fnID, fnName, fnDesc, fnDateCreate]) do
begin
OrderBy(fnName, True);
Table := FDB.DB.GetTable(GetSQL);
EndCreate;
Table.MoveFirst;
while not Table.EOF do
begin
Item.ID := Table.FieldAsInteger(fnID);
Item.Name := Table.FieldAsString(fnName);
Item.Desc := Table.FieldAsString(fnDesc);
Item.DateCreate := Table.FieldAsDateTime(fnDateCreate);
Add(Item);
Table.Next;
end;
Table.Free;
end;
```
**INSERT**
```Delphi
with SQL.InsertInto(tnTableName) do
begin
AddValue(fnName, Item.Name);
AddValue(fnDesc, Item.Desc);
AddValue(fnDateCreate, Item.DateCreate);
FDB.DB.ExecSQL(GetSQL);
Item.ID := FDB.DB.GetLastInsertRowID;
EndCreate;
end;
```
**UPDATE**
```Delphi
with SQL.Update(tnTableName) do
begin
AddValue(fnName, Item.Name);
AddValue(fnDesc, Item.Desc);
AddValue(fnDateCreate, Item.DateCreate);
WhereFieldEqual(fnID, Item.ID);
FDB.DB.ExecSQL(GetSQL);
EndCreate;
end;
```
**UPDATE BLOB**
```Delphi
with SQL.UpdateBlob(tnTableName, fnImage) do
begin
WhereFieldEqual(fnID, Item.ID);
Item.Image.SaveToStream(Mem);
FDB.DB.UpdateBlob(GetSQL, Mem);
Mem.Free;
EndCreate;
end;
```
**DELETE**
```Delphi
with SQL.Delete(tnTableName) do
begin
WhereFieldEqual(fnID, Items[Index].ID);
FDB.DB.ExecSQL(GetSQL);
EndCreate;
end;
```
**CREATE TABLE**
```Delphi
with SQL.CreateTable(tnTableName) do
begin
AddField(fnID, ftInteger, True, True);
AddField(fnName, ftString);
AddField(fnDesc, ftString);
AddField(fnDateCreate, ftDateTime);
FDB.DB.ExecSQL(GetSQL);
EndCreate;
end;
```