mac版Navicat如何设置重新打开后保持上次选项卡,在使用Navicat客户端时,我们可以设置重新打开客户端,保持上次打开的选项卡的,这个功能在哪里设置?我们来看一下。......
纯C/C++代码读写SQLite数据库
SQLite小巧易用,功能强大,非常适合开发文件型数据库应用的程序。而且SQLite官网也给了详细的开发文档,相关的开发教程也非常全面,应用编程接口使用也很简单。前期我介绍了在Qt中读写数据库的经验,今天我们来看看如何在纯C/C 环境中读写SQLite数据库。
5怎样在Qt下连接读写sqlite数据库
工具/原料
- SQLite3 windows版
- SQLite3源代码
- Devcpp集成开发环境
一、编译静态SQLite3数据库文件
实际上使用动态链接库来开发比较好,而且我们下载的sqlite3程序自身已经带有sqlite3.dll以及sqlite3.def文件,是可以使用VS的相关工具来生成lib文件以给我们编程使用。奈何我不用VS,也不想为了这个再去安装一个,所以决定自己编译一个静态库来用,其实动态库也是一样。
下面是sqlite3程序及源代码:
好的,下面我们来开始编译sqlite3静态库。打开devc ,新建一个静态链接库项目sqlite_lib。如下图:
如果你不知道devc 如何使用,请参考我的另一篇经验。
139Dev-C 的使用及调试
我们把项目保存在一个我们事先建好的文件夹中,文件夹的名字也叫sqlite_lib。
我们将源代码中的sqlit3.h以及sqlite3.c拷贝至sqlite_lib文件夹。然后,在devcpp中的项目上右键,添加。
然后将sqlite3.h及sqlite3.c添加到项目。
之后,我们点击编译按钮或者运行菜单中的编译菜单或者直接按F9,开始编译。
我们当前是在debug模式下编译的。
可以看到很顺利,连一个警告都没有,顺利编译完成。
并生成了sqlite_lib.a静态库。
二、建立静态库的测试项目
其实编写相应的代码并不是很复杂,我们来看看sqlite官网是怎么说的。
我们可以看到,这个代码只调用了三个函数就完成了从创建、到读写最后关闭数据库的过程。
采用的是直接调用sqlite提供的函数。
我们这里就直接将官网的代码拿来用用,看能不能正确的运行。
我们在devcpp中新建一个控制台项目,见下图。
项目保存在另外一个目录中,也叫sqlite_lib_demo。
我们将官网的示例代码粘贴到main.c文件中。同时,我们将sqlite3.h以及我们刚才生成的sqlite_lib.a一块拷贝至sqlite_lib_demo文件夹。
点击项目菜单,项目属性。打开项目选项窗口,切换到参数标签。
点击 加入库或者对象,选择sqlite_lib.a,然后依次点击 打开 确定按钮。
最后我们来编译项目。弹出了一个错误。提示 没有sqlite3.h这个文件或目录。
这个问题简单,我们只需要将
#include sqlite3.h>
改为
#include "sqlite3.h"
即可
重新进行编译。这次顺利的编译完成,运行一下看看。打印输出了错误提示,原来不能够直接运行。
三、测试程序
运行命令提示符,切换到我们的程序目录。
然后,我们创建了一个名为mydata.db的数据库文件,创建了一个名叫student的表格,并插入了三条记录。
程序看起来运行的很正常。
我们来验证下看看刚才的操作是不是真的没问题。
可以看到程序工作的很好。
我们再回头看看代码。
先定义了一个sqlite3对象的指针:sqlite3 *db;
然后调用sqlite3_open函数打开数据库,赋值给db。并返回是否打开成功。
然后通过sqlite3_exec函数来执行sql语句。
如果中间出现问题,或者所有操作执行完后没有问题的话,就调用sqlite3_close来关闭连接。
这里的sqlite3_exec函数的参数中有个函数指针,我们来看看官网的解释。
官网说如果sqlite3_exec的第三个参数为非NULL的话,它就会被调用用来输出SQL语句执行后的每一行结果。
我们来看看是不是这样的。
果然是这样。
最后,我们来生成一个release模式的静态库和可执行文件看看。
一个700多K,一个900多K,确实不小。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
- 详细阅读
-
SQL Server 2005数据库恢复图文教程详细阅读
SQL Server 2005数据库恢复图文教程,相信很多的站长网站的时候需要用到SQLServer2005数据库,但是碰到一些问题没有办法恢复,本人专业学习的.et。平时也经常用到,希望能给大家带来......
2023-03-17 486 数据库
-
如何安装SQL Server 2008数据库(带完整图解)详细阅读
如何安装SQL Server 2008数据库(带完整图解),在电脑上安装SQLServer2008软件时,经常会遇到各种各样的问题,如何成功的安装SQLServer2008呢?提供完整过程和图片详解。......
2023-03-17 505 数据库