demo
https://github.com/HongXiuTanXiang/sqlite-model
执行,增删改语句
- 1打开数据库
- 2执行sql语句
- 3关闭数据库
/*
//1 打开数据库,如果没有数据库,会创建一个数据库
//const char *filename,数据库文件路径
//sqlite3 **ppDb 这个就是结构体指针,&handle
sqlite3_open(const char *filename, sqlite3 **ppDb)
*/
/*
//2 执行sqlite语句
//sqlite3 *结构体指针数据结构,handle
//const char *sql语句
//int (*callback)(void *, int, char **, char **)回调方法
//void *,回调方法的第一个回调参数
//char **errmsg错误信息
sqlite3_exec(sqlite3 *, const char *sql, int (*callback)(void *, int, char **, char **), void *, char **errmsg)
*/
/*
//3 关闭数据库
//sqlite3 * handle
sqlite3_close(sqlite3 *)
*/
执行查询语句
- 1打开数据库
- 2准备语句
- 3开始执行准备语句
- 4获取列数
- 5遍历列数,并取得列名和对应的类型
/*
//1 打开数据库,如果没有数据库,会创建一个数据库
//const char *filename,数据库文件路径
//sqlite3 **ppDb 这个就是结构体指针,&handle
sqlite3_open(const char *filename, sqlite3 **ppDb)
*/
/*
//sqlite3 *db,handle,一个已经打开的数据库
//const char *zSql, sql语句
//int nByte, sql语句需要的字节, -1,自动计算
//sqlite3_stmt **ppStmt ,准备语句
//const char **pzTail,通过参数3,取出参数2的长度字节之后,剩下的字符创
sqlite3_prepare(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **ppStmt, const char **pzTail)
*/
/*
//sqlite3_stmt * handle
//z执行准备语句
sqlite3_step(sqlite3_stmt *)
*/
/*
//获取所有列个数
sqlite3_column_count(sqlite3_stmt *pStmt)
*/
/*
获得某列的名字
sqlite3_stmt *,准备语句
int N,第几列
sqlite3_column_name(sqlite3_stmt *, int N)
*/
/*
获得某列的类型
//sqlite3_stmt *,准备语句
//int iCol,第几列
sqlite3_column_type(sqlite3_stmt *, int iCol)
*/
/*
释放准备语句内存空间
//sqlite3_stmt *pStmt
sqlite3_finalize(sqlite3_stmt *pStmt)
*/
/*
//3 关闭数据库
//sqlite3 * handle
sqlite3_close(sqlite3 *)
*/