# QSqliteHelper **Repository Path**: mohistH/QSqliteHelper ## Basic Information - **Project Name**: QSqliteHelper - **Description**: 基于Qt5封装sqlite数据库读写类,特点:无需编写sql语句即可读写数据库中的内容。 基于QtCipherSqlitePlugin.git 开源项目,封装了对sqlite文件的加密解密和更新密钥等接口。 - **Primary Language**: C++ - **License**: BSD-3-Clause-Clear - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2023-03-04 - **Last Updated**: 2023-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QSqliteHelper #### 介绍 基于Qt5封装sqlite数据库读写类,特点:**无需编写sql语句** 即可读写数据库中的内容。 基于QtCipherSqlitePlugin.git 开源项目,封装了对sqlite文件的加密解密和更新密钥等接口。 #### 封装环境 - Qt版本:5.14 #### 使用范例 - 可在 [EPA](https://gitee.com/mohistH/epa) 项目中查找到该类的使用 #### 使用注意; - 定义内存中的结构需要与数据库中的字段顺序相同、类型相同 - 定义内存结构的结构体需要强制使用1字节对齐。 - 比如, 数据库中的表格 ![](https://img2023.cnblogs.com/blog/1630599/202303/1630599-20230304011853188-1860589921.png) 那么, 与该表对应的结构体 如下 ``` ... #pragma pack(1) struct stVersionCommon { QString compiler_{ "" }; QString sln_name_{ "" }; QString project_name_{}; QString platform_name_{}; QString configuration_name_{ }; int major_ = 0; int minor_ = 0; int revision_ = 0; }; struct stVdprojVersion_ : public stVersionCommon { QString sln_name_{}; int major_ = 0; int minor_ = 0; int revision_ = 0; int build_ = 0; }; using stVdprojVersion = stVdprojVersion_; Q_DECLARE_METATYPE(stVdprojVersion); #pragma pack() ... ``` > #pragma pack(1) 与 #pragma pack() 配对使用, 强制使用1字节对齐。 #### 更多用法 - 更多用法,请参考 [EPA](https://gitee.com/mohistH/epa)