Многопоточность:
OpenF - создает, открывает бд в режиме FULLMUTEX. В данном режиме можно в разных потоках использовать одно соединение с БД, но все вызовы блокируют друг друга и обрабатываются последовательно.
OpenN - создает, открывает бд в режиме NOMUTEX. В данном режиме нельзя использовать одно соединение с базой для разных потоков, но допускается использование разных соединений для разных потоков.
Официальная документация: https://www.sqlite.org/threadsafe.html
Шифрование:
требуются библиотеки sqlite3.dll и libeay32.dll (обе в архиве).
Собраны из исходников sqlite cipher v 3.8.6 (брал отсюда https://www.zetetic.net/sqlcipher/), собирал из MinGW.
Использование шифрования:
При открытии БД первым запросом выполнить:
PRAGMA key="x'КЛЮЧ'";
PRAGMA cipher_page_size=4096;
PRAGMA cipher='aes-256-cfb';
PRAGMA cipher_use_hmac=ON;
(алгоритм AES и длинну ключа выбирайте сами, это всего-лишь пример!)
Пример:
Add(SQLite_DB,12203384,181,119)
{
FileName="cipher.db"
link(onOpen,10555857:doString,[])
}
Add(FormatStr,10555857,248,119)
{
DataCount=1
Mask="PRAGMA key="x'%1'";\r\nPRAGMA cipher_page_size=4096;\r\nPRAGMA cipher='aes-256-cfb';\r\nPRAGMA cipher_use_hmac=ON;\r\ncreate table test (id integer primary key autoincrement, data text);\r\n"
link(onFString,4553799:doExec,[])
link(Str1,10612213:Text,[])
}
Add(SQLite_Exec,4553799,308,119)
{
link(dbHandle,10748224:Var1,[(314,102)(156,102)(156,168)])
}
Add(Edit,10612213,248,50)
{
Left=19
Top=31
Width=158
Text=""
}
Add(Button,8560394,91,119)
{
Left=18
Top=67
Width=159
Caption="Создать БД"
link(onClick,12203384:doOpenF,[])
}
Add(Edit,15143416,78,181)
{
Left=20
Top=149
Width=156
Text="данные для шифрования"
link(onEnter,12377076:doString,[])
}
Add(SQLite_Query,12211252,181,188)
{
link(onQuery,10889112:doStr,[])
link(onError,9035173:doMessage,[(229,208)(229,251)])
link(dbHandle,10748224:Var2,[])
}
Add(GetDataEx,10748224,181,163)
{
link(Data,12203384:dbHandle,[])
}
Add(FormatStr,12377076,127,188)
{
DataCount=1
Mask="insert into test values (NULL,'%1');\r\nselect data from test where id=(select max(id) from test);"
link(onFString,12211252:doQuery,[])
}
Add(MT_String,10889112,244,188)
{
link(onResult,2869531:doMessage,[])
}
Add(Message,2869531,301,188)
{
}
Add(Label,3184047,140,35)
{
Left=18
Top=5
Width=158
Caption="Ключ для шифрования"
}
Add(Message,9035173,245,245)
{
}
полный перечень команд: https://www.zetetic.net/sqlcipher/sqlcipher-api/
Настройки sqlite3.dll по умолчанию.

PAGE_SIZE=8192
DEFAULT_CACHE_SIZE=8000
DEFAULT_TEMP_CACHE_SIZE=4000
SQLITE_MAX_PAGE_COUNT=2147483646
DEFAULT_WORKER_THREADS=10
SQLITE_MAX_WORKER_THREADS=300
SQLITE_THREADSAFE=1
Мод компонента + обновленные библиотеки: http://forum.hiasm.net/forum_serv.php?q=56&id=4073