SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行
SQLite3 C/C++ API 先容
C/C++ API 是 SQLite3 数据库的一个客户端, 提供一种用 C/C++操作数据库的方法。
下面我们先容一下常见的几个接口:
SQLite3 官方文档: List Of SQLite Functions 1.查看当前数据库在编译阶段是否启动了线程安全
int sqlite3_threadsafe(); 0-未启用; 1-启用
复制代码
需要留意的是 sqlite3 是有三种安全等级的:
1. 非线程安全模式
2. 线程安全模式(差别的毗连在差别的线程/进程间是安全的,即一个句柄不能用于多线程间)
3. 串行化模式(可以在差别的线程/进程间使用同一个句柄)
2.创建/打开数据库文件,并返回操作句柄
int sqlite3_open(const char *filename, sqlite3 **ppDb)
//成功返回SQLITE_OK
//若在编译阶段启动了线程安全,则在程序运行阶段可以通过参数选择线程安全等级
int sqlite3_open_v2(const char *filename, sqlite3 **ppDb, int flags, const char *zVfs );
//成功返回SQLITE_OK
复制代码
其中flag有以下几个选项:
SQLITE_OPEN_READWRITE -- 以可读可写方式打开数据库文件
SQLITE_OPEN_CREATE -- 不存在数据库文件则创建
SQLITE_OPEN_NOMUTEX--多线程模式,只要差别的线程使用差别的毗连即可保证线程安全
SQLITE_OPEN_FULLMUTEX--串行化模式
3.实行语句
int sqlite3_exec(sqlite3*, char *sql, int (*callback)(void*,int,char**,char**), void* arg, char **err)