1.sqlite3_open
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
功能:
打开 数据库文件(创建一个数据库连接)
参数:
filename : 数据库文件路径
ppDb : 操作 数据库指针 存放空间的首地址
返回值:
成功 返回 SQLITE_OK
失败 返回 错误码
2.sqlite3_close
int sqlite3_close(sqlite3*);
功能:
关闭 数据库连接
3.sqlite3_exec
int sqlite3_exec(
sqlite3*, /* An open database */
const char *sql, /* SQL to be evaluated */
int (*callback)(void*,int,char**,char**), /* Callback function */
void *, /* 1st argument to callback */
char **errmsg /* Error msg written here */
);
功能:
执行一条SQL语句
参数:
sqlite3*: 数据库 句柄
句柄: 是一个用来 标识对象 或者项目 的**标识符
**,可以用来描述窗体、文件等 还有注意 句柄(Handle)
**** 不是常量
sql: 要执行的 SQL语句 字符串首地址
callback: (回调函数) 只有 在 select 时才会使用 (匹配数据) 其余 调用时传递 NULL
void*: 给 回调函数 的 传参
errmsg: 出错信息 存放空间首地址 (使用完毕后使用sqlite3_free释放空间)
返回值:
成功 返回 SQLITE_OK
失败返回错误码
callback
strstr:子字符串查找
strstr函数声明:
char *strstr( const char * str1 , const char * str2 );
练习:
实现将dict.txt文件中的所有单词和含义插入到数据库中
5.调试段错误 :
1.根据给定链接设置系统允许生成core 文件
2.编译代码时加入**-g** 选项
gcc filename.c -g -lsqlite3
3.执行代码让代码产生段错误(会生成一个包含错误信息的core文件)
4.使用gdb调试core文件
gdb a.out core
5.可以直接看到产生段错误的代码的位置
6.html
meta:设置编码格式