首页 > 技术知识 > 正文

上篇文章介绍了如何使用Pyhton语言来操作SQLite数据库,对于嵌入式开发,更多的是使用C/C++语言进行开发,因此,本篇介绍如何使用C语言来操作SQLite数据库。

1 SQLite C语言API函数

SQLite的C语言API函数的官方文档地址:https://sqlite.com/capi3ref.html#sqlite3_free

玩转SQLite6:使用C语言来读写数据库-交换游戏

对于数据库的基础操控,可以先了解以下几个最基本的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;>

复制复制运行结果:

复制复制玩转SQLite6:使用C语言来读写数据库-交换游戏1

复制复制4 总结

复制复制本篇简单介绍了如何使用SQLite的C语言API中最基础的几个函数,实现对数据库的读写,后续再介绍其它常用的C语言API函数的用法。

审核编辑:汤梓红

猜你喜欢