上篇文章介绍了如何使用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 总结
4 总结
本篇简单介绍了如何使用SQLite的C语言API中最基础的几个函数,实现对数据库的读写,后续再介绍其它常用的C语言API函数的用法。
-
C语言
+关注
关注
180文章
7597浏览量
136117 -
数据库
+关注
关注
7文章
3759浏览量
64265 -
SQlite
+关注
关注
0文章
78浏览量
15900
发布评论请先 登录
相关推荐
评论