wxsqlite3 编译
1.版本说明:VS2013、wxsqlite3 3.5.8
2.在github下载wxsqlite3源码
3.使用vs创建win32 dll空项目
4.拷贝wxsqlite3 3.8.8\sqlite3\secure\src\下的所有h、c文件、def文件到dll工程目录下
5.将sqlite3secure.c、sqlite3.h添加到工程
6.设置预处理定义:
SQLITE_HAS_CODEC
CODEC_TYPE=CODEC_TYPE_AES128
SQLITE_CORE
SQLITE_SECURE_DELETE
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_RTREE
编译静态库需要多添加:USE_DYNAMIC_SQLITE3_LOAD=0
8.编译动态库:在配置属性–>链接器–>输入–>模块定义文件 加入sqlite3.def
9.使用注意:
首先打开数据库 sqlite3_open,然后在操作数据库之前执行 sqlite3_key 后就可进行数据库操作,否则会返回错误。
sqlite3_key是输入密钥,如果数据库已加密必须先执行此函数并输入正确密钥才能进行操作,
如果数据库没有加密,执行此函数后进行数据库操作反而会出现“此数据库已加密或不是一个数据库文件”的错误。
sqlite3_rekey是变更密钥或给没有加密的数据库添加密钥或清空密钥,
变更密钥或清空密钥前必须先正确执行 sqlite3_key。
在正确执行 sqlite3_rekey 后在 sqlite3_close 关闭数据库之前可正常操作数据库,不需要再执行 sqlite3_key。