0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

玩转SQLite6:使用C语言来读写数据库

码农爱学习 来源:码农爱学习 作者:码农爱学习 2022-09-25 08:52 次阅读

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

1 SQLite C语言API函数

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

pYYBAGMu-DCAMArpAAPoBmna8CA411.png

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

运行结果:

poYBAGMu-KKAeR5kAACnikFa9fE463.png

4 总结

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7588

    浏览量

    135740
  • 数据库
    +关注

    关注

    7

    文章

    3750

    浏览量

    64208
  • SQlite
    +关注

    关注

    0

    文章

    78

    浏览量

    15882
收藏 人收藏

    评论

    相关推荐

    玩转SQLite5:使用Python读写数据库

    本篇介绍了如何使用**Python**语言进行SQLite数据库读写,在嵌入式式开发中,更多的是使用**
    的头像 发表于 09-25 08:51 1750次阅读
    <b class='flag-5'>玩转</b><b class='flag-5'>SQLite</b>5:使用Python<b class='flag-5'>来</b><b class='flag-5'>读写</b><b class='flag-5'>数据库</b>

    如何使用Rust语言操作Chrome浏览器的SQLite数据库

    的浏览器,它使用SQLite数据库存储浏览器的历史记录、书签、密码等数据。在本教程中,我们将介绍如何使用Rust语言操作Chrome浏览器
    的头像 发表于 09-19 16:28 2347次阅读

    Wince系统基于数据库Sqlite的应用

    觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发
    发表于 07-18 11:31

    LabVIEW访问SQLite数据库接口研究

    的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。更多介绍可访问其
    发表于 02-04 13:38

    Labview基于JKI SMO框架Sqlite轻量数据库读写

    本帖最后由 Harry2017 于 2021-1-18 20:30 编辑 Labview读写Sqlite数据库,基于JKI SMO框架面向对象框架方式读写
    发表于 01-10 19:11

    嵌入式数据库sqlite移植及使用的资料分享

    ,掌握 sqlite 数据库软件移植的步骤,掌握 sqlite 开发的两种方式 — 命令模式和 C代码开发模式 的使用方法,并编程实现简单通讯录查询实验。二.实验内容实验4.1 移植嵌
    发表于 10-28 09:48

    基于Dragonboard 410c实现sqlite3数据库存储与管理

    今天给大家介绍如何利用sqlite3数据库为dragonboard 410c开发进行数据存储和管理,s
    发表于 02-08 11:53 1163次阅读

    怎么创建SQLite数据库

    大家好,今天给大家分享一篇如何创建SQLite数据库的文章。
    的头像 发表于 02-22 16:21 5929次阅读
    怎么创建<b class='flag-5'>SQLite</b><b class='flag-5'>数据库</b>

    SQLite数据库的特点 SQLite数据库简单介绍

    语言,使得SQLite成为非常流行的数据库管理系统。 SQLite数据库的特点: 1. 轻量级:SQLi
    的头像 发表于 08-28 16:40 5371次阅读

    如何创建一个Sqlite数据库

    如何创建一个Sqlite数据库Sqlite是一种轻量级、占用空间小、操作速度快的嵌入式数据库,使用它可以方便地存储和管理数据
    的头像 发表于 08-28 16:40 4375次阅读

    什么是Sqlite数据库

    什么是Sqlite数据库?  Sqlite数据库是一种轻量级的关系型数据库管理系统。它被开源软件组织SQ
    的头像 发表于 08-28 16:41 2428次阅读

    SQLite数据库能加密吗

    SQLite数据库能加密吗  SQLite是一种以文件为基础的轻量级数据库管理系统,它被广泛应用在许多领域,例如移动设备应用程序、桌面应用程序、网络浏览器、机器人和嵌入式系统等。在许多
    的头像 发表于 08-28 16:41 3793次阅读

    SQLite数据库能共享吗?

    SQLite数据库能共享吗? SQLite数据库是一种轻量级的数据库管理系统,它被广泛使用于移动应用、本地桌面应用以及小型Web应用中。
    的头像 发表于 08-28 16:41 2387次阅读

    SQLite数据库与python的区别

    SQLite数据库与python的区别 SQLite是一种轻量级关系型数据库管理系统,是一个嵌入式的数据库引擎。Python是一种高级编程
    的头像 发表于 08-28 16:41 796次阅读

    SQLite数据库增删改查

    SQLite数据库增删改查  SQLite是一种轻量级的RDBMS(关系型数据库管理系统),具有速度快、易用性高等优点。虽然SQLite
    的头像 发表于 08-28 17:09 1147次阅读