一、数据库打开与关闭
sqlite3_open()
作用:
打开数据库,函数:
cpp
int sqlite3_open(
const char *filename,
sqlite3 **ppDb
);
参数:
| 参数 | 说明 |
|---|---|
| filename | 数据库文件路径 |
| ppDb | 返回数据库对象 |
例子:
cpp
sqlite3 *db;
sqlite3_open(
"/home/rocky/my.db",
&db
);
效果,自动创建。
cpp
my.db不存在
my.db存在
打开,成功:
SQLITE_OK
sqlite3_close()
作用:
关闭数据库连接。
cpp
int sqlite3_close(sqlite3 *db);
sqlite3_close(db);
类似:
fclose(file);
不用数据库一定关闭。
二、执行SQL语句(最常用)
sqlite3_exec()
这是最重要的函数。
cpp
int sqlite3_exec(
sqlite3 *db,
const char *sql,
int (*callback)(),
void *arg,
char **errmsg
);
参数:
| 参数 | 作用 |
|---|---|
| db | 数据库对象 |
| sql | SQL语句 |
| callback | 查询结果处理函数 |
| arg | 传给callback的数据 |
| errmsg | 错误信息 |
SQLite callback 的特点:
一行数据,调用一次回调函数。
执行创建表
cpp
char *sql=
"create table stu(id int,name text);";
sqlite3_exec(
db,
sql,
NULL,
NULL,
NULL
);
因为:
CREATE没有返回结果
所以:
cpp
callback=NULL
| 函数 | 作用 | 使用频率 |
|---|---|---|
| sqlite3_open | 打开数据库 | ★★★★★ |
| sqlite3_close | 关闭数据库 | ★★★★★ |
| sqlite3_exec | 执行SQL | ★★★★★ |
| sqlite3_errmsg | 获取错误 | ★★★★★ |
| callback | 处理查询结果 | ★★★★★ |
| sqlite3_get_table | 简单查询 | ★★★ |
| sqlite3_free_table | 释放查询结果 | ★★★ |
| sqlite3_prepare_v2 | 预处理SQL | ★★★★★ |
| sqlite3_bind_int | 绑定参数 | ★★★★★ |
| sqlite3_bind_text | 绑定字符串 | ★★★★★ |
| sqlite3_step | 执行预处理SQL | ★★★★★ |
| sqlite3_column_int | 取字段 | ★★★★★ |
| sqlite3_column_text | 取字符串 | ★★★★★ |
| sqlite3_finalize | 释放stmt | ★★★★★ |