MFC项目中使用SQLite总结,遇到的编译问题记录

本文讲述了作者在开发过程中从ACCESS数据库转向SQLite的原因,包括部署便利性和轻量级特性。作者在实践中遇到编译问题和调试难题,并最终通过封装MFC扩展库解决了这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发环境:

win10VS2013

前言

之前一直使用微软ACCESS数据库一个mdbaccdb文件即可轻量级很好用部署设备还需要安装ACCESS数据库驱动有时忘记驱动就会导致数据库连接不上无法正常访问

后面发现轻量级SQLite更好用读写db文件就像访问本地log文件一样简单就像喝水轻松

应用场景

半导体设备免不了要与客户MES系统通信比如根据产品ID获取加工资料而且还要ID动态数据保存本地数据库中。

遇到产品重复投入设备软件能够准确判断提示OP常规SQSERVER数据库体量太庞大对于一个月还不到百万数据场景选择轻量级数据库最合适

准备工作

引入.h头文件引入lib文件dll放到工程运行目录下常规调用动态3步骤这里就不多DDDD.

封装

虽然需要调用接口都在头文件声明了为了方便项目工程调用,我还是准备封装一个出来

示例代码

数据库连接

通过OpenDB返回值判断数据库连接状态数据库连接成功就可以执行增删改查SQL语句

执行SQL语句

SQL语句无外乎增删改查格式化字符串调用接口即可

执行结果放在vector容器根据需要进行显示数据处理

编译问题

这里重点说一下SQLite加入到项目中所遇到问题主要编译问题

Release模式下编译/链接报错提示当前所使用sqlite3.lib文件是由编译器创建无法VS2013项目工程使用

修改配置属性连接器->高级->设置:SAFESEH:NO并且程序优化关闭之后可以正常编译通过

这种方式虽然能够使用引来一个新问题Debug模式下无法激活“编辑并应用”按钮特别设备调试软件没法做到边改无论大小修改都要重新运行软件

无法代码调试软件我的项目来说是个很大麻烦事

因为涉及运动轴IO气缸激光器打标控制卡硬件较多重启软件需要很多初始化动作

所以还是解决引入SQLite无法编辑调试问题

解决方案

尝试过各种方法比如修改配置项下载新版本SQLite未能解决问题

最终使用方案封装一个MFC扩展作为中间件应用层通过MFC扩展库中转最终调用SQLite执行数据库操作

问题彻底解决应用代码更改按钮重新亮起来又可以愉快bug

对于遇到问题来说应该简单解决方案欢迎小伙伴们一起讨论

想要Demo朋友也可以留言或者私信

阿乐会在这里持续更新开发项目中遇到问题一些心得希望后来小伙伴们都能避坑

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值