首页 > 软件开发 > 数据库 >

纯C/C++代码读写SQLite数据库

来源:互联网 2023-03-16 23:58:46 177

SQLite小巧易用,功能强大,非常适合开发文件型数据库应用的程序。而且SQLite官网也给了详细的开发文档,相关的开发教程也非常全面,应用编程接口使用也很简单。前期我介绍了在Qt中读写数据库的经验,今天我们来看看如何在纯C/C 环境中读写SQLite数据库。P4f办公区 - 实用经验教程分享!

5怎样在Qt下连接读写sqlite数据库P4f办公区 - 实用经验教程分享!

纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

工具/原料

  • SQLite3 windows版
  • SQLite3源代码
  • Devcpp集成开发环境

一、编译静态SQLite3数据库文件

  • 1

    实际上使用动态链接库来开发比较好,而且我们下载的sqlite3程序自身已经带有sqlite3.dll以及sqlite3.def文件,是可以使用VS的相关工具来生成lib文件以给我们编程使用。奈何我不用VS,也不想为了这个再去安装一个,所以决定自己编译一个静态库来用,其实动态库也是一样。P4f办公区 - 实用经验教程分享!

    下面是sqlite3程序及源代码:P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 2

    好的,下面我们来开始编译sqlite3静态库。打开devc ,新建一个静态链接库项目sqlite_lib。如下图:P4f办公区 - 实用经验教程分享!

    如果你不知道devc 如何使用,请参考我的另一篇经验。P4f办公区 - 实用经验教程分享!

    139Dev-C 的使用及调试P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 3

    我们把项目保存在一个我们事先建好的文件夹中,文件夹的名字也叫sqlite_lib。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 4

    我们将源代码中的sqlit3.h以及sqlite3.c拷贝至sqlite_lib文件夹。然后,在devcpp中的项目上右键,添加。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 5

    然后将sqlite3.h及sqlite3.c添加到项目。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 6

    之后,我们点击编译按钮或者运行菜单中的编译菜单或者直接按F9,开始编译。P4f办公区 - 实用经验教程分享!

    我们当前是在debug模式下编译的。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 7

    可以看到很顺利,连一个警告都没有,顺利编译完成。P4f办公区 - 实用经验教程分享!

    并生成了sqlite_lib.a静态库。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 7此文章未经授权抓取自百度经验
  • 二、建立静态库的测试项目

  • 1

    其实编写相应的代码并不是很复杂,我们来看看sqlite官网是怎么说的。P4f办公区 - 实用经验教程分享!

    我们可以看到,这个代码只调用了三个函数就完成了从创建、到读写最后关闭数据库的过程。P4f办公区 - 实用经验教程分享!

    采用的是直接调用sqlite提供的函数。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 2

    我们这里就直接将官网的代码拿来用用,看能不能正确的运行。P4f办公区 - 实用经验教程分享!

    我们在devcpp中新建一个控制台项目,见下图。P4f办公区 - 实用经验教程分享!

    项目保存在另外一个目录中,也叫sqlite_lib_demo。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 3

    我们将官网的示例代码粘贴到main.c文件中。同时,我们将sqlite3.h以及我们刚才生成的sqlite_lib.a一块拷贝至sqlite_lib_demo文件夹。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 4

    点击项目菜单,项目属性。打开项目选项窗口,切换到参数标签。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 5

    点击 加入库或者对象,选择sqlite_lib.a,然后依次点击 打开 确定按钮。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 6

    最后我们来编译项目。弹出了一个错误。提示 没有sqlite3.h这个文件或目录。P4f办公区 - 实用经验教程分享!

    这个问题简单,我们只需要将P4f办公区 - 实用经验教程分享!

    #include sqlite3.h>P4f办公区 - 实用经验教程分享!

    改为P4f办公区 - 实用经验教程分享!

    #include "sqlite3.h"P4f办公区 - 实用经验教程分享!

    即可P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 7

    重新进行编译。这次顺利的编译完成,运行一下看看。打印输出了错误提示,原来不能够直接运行。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 三、测试程序

  • 1

    运行命令提示符,切换到我们的程序目录。P4f办公区 - 实用经验教程分享!

    然后,我们创建了一个名为mydata.db的数据库文件,创建了一个名叫student的表格,并插入了三条记录。P4f办公区 - 实用经验教程分享!

    程序看起来运行的很正常。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 2

    我们来验证下看看刚才的操作是不是真的没问题。P4f办公区 - 实用经验教程分享!

    可以看到程序工作的很好。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 3

    我们再回头看看代码。P4f办公区 - 实用经验教程分享!

    先定义了一个sqlite3对象的指针:sqlite3 *db;P4f办公区 - 实用经验教程分享!

    然后调用sqlite3_open函数打开数据库,赋值给db。并返回是否打开成功。P4f办公区 - 实用经验教程分享!

    然后通过sqlite3_exec函数来执行sql语句。P4f办公区 - 实用经验教程分享!

    如果中间出现问题,或者所有操作执行完后没有问题的话,就调用sqlite3_close来关闭连接。P4f办公区 - 实用经验教程分享!

    这里的sqlite3_exec函数的参数中有个函数指针,我们来看看官网的解释。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 4

    官网说如果sqlite3_exec的第三个参数为非NULL的话,它就会被调用用来输出SQL语句执行后的每一行结果。P4f办公区 - 实用经验教程分享!

    我们来看看是不是这样的。P4f办公区 - 实用经验教程分享!

    果然是这样。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 5

    最后,我们来生成一个release模式的静态库和可执行文件看看。P4f办公区 - 实用经验教程分享!

    一个700多K,一个900多K,确实不小。P4f办公区 - 实用经验教程分享!

    纯C/C  代码读写SQLite数据库P4f办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!P4f办公区 - 实用经验教程分享!


    标签: 数据库C语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码