上篇文章介绍了如何使用Pyhton语言来操作SQLite数据库,对于嵌入式开发,更多的是使用C/C++语言进行开发,因此,本篇介绍如何使用C语言来操作SQLite数据库。
1 SQLite C语言API函数
SQLite的C语言API函数的官方文档地址:https://sqlite.com/capi3ref.html#sqlite3_free
对于数据库的基础操控,可以先了解以下几个最基本的API函数:
1.1 打开数据库 sqlite3_open
该函数用于打开sqlite3数据库的连接
复制int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ );参数含义:
filename: 数据库文件名
ppDb: 数据库handle ,用结构体sqlite3来表示一个打开的数据库对象
1.2 执行sql语句 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 */ );参数含义:
sqlite3 *: 数据库句柄
sql: 要执行的sql语句
callback: 回调函数
void *: 回调函数的第一个参数
errmsg: 错误信息,如果没有问题则为NULL
1.3 回调函数
回调函数式一个比较复杂的函数,一般用于sql语句执行后的数据打印,其原型为:
复制int callback( void *params, int column_size, char **column_value, char **column_name );参数含义:
params: sqlite3_exec传入的第四个参数
column_size: 结果字段的个数
column_value: 返回记录的一位字符数组指针
column_name: 结果字段的名称
回调函数的通常写法为:
复制static int callback(void *data, int argc, char **argv, char **azColName) { int i; fprintf(stderr, “%s:n”, (const char*)data); for(i=0; i;>复制复制运行结果:
复制复制复制复制4 总结
复制复制本篇简单介绍了如何使用SQLite的C语言API中最基础的几个函数,实现对数据库的读写,后续再介绍其它常用的C语言API函数的用法。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:玩转SQLite6:使用C语言来读写数据库-交换游戏 https://www.yhzz.com.cn/a/7328.html