概述
- 本文将介绍使用 Qt5使用QSqlQuery读写sqlite3。
- 设计初衷: 项目需要使用配置文件,配置文件使用的是sqlite3 , 这是V1.0.0, 后期增加其他功能。
- 需要C++11支持(可删除代码中的c++11代码),不过后期可能会增加更多基于C++11代码
- Qt creator 的.pro文件需要加入: QT += sql
- 本文的项目是基于Qt creator的qmake编译的,非CMake.
- 本文涉及的Qt version: Qt5.14 (好像Qt5.9要是已经支持C++11, 具体的,大家可以google一下 )
- 本文使用的sqlite3可视化软件是:sqlite studio
功能
使用顺序
- 1.先调用函数 init_, 传入数据库文件
- 2.【1】返回0,再调用函数【get_record_】 或者 【exec_sql_】函数操作
- 3.可显示调用函数【uninit_】
sqlite_assistant.h
#ifndef SQLITE_ASSISTANT_H
#define SQLITE_ASSISTANT_H
#include <QObject>
#include <QSqlDatabase>
#include <QSqlQuery>
namespace oct_db
{
/// 读写sqlite3
class sqlite_assistant : public QObject
{
Q_OBJECT
public:
explicit sqlite_assistant(QObject *parent = nullptr);
~sqlite_assistant();
/// 这些都需要屏蔽
sqlite_assistant(const sqlite_assistant& instance) = delete;
sqlite_assistant(const sqlite_assistant&& instance) = delete;
sqlite_assistant& operator = (const sqlite_assistant& instance) = delete;
sqlite_assistant& operator = (const sqlite_assistant&& instance) = delete;
/// --------------------------------------------------------------------------------
/// @brief: 初始化,str_db_file是数据库文件,例如: C:/demo/hello_sqlite.db3
/// @str_db_file - sqlite3数据库文件: 例如: C:/demo/demo.db3
/// @return - int
/// 0 - 成功
/// -2 - 失败, 参数【str_db_file】为空
/// -3 - 失败, 参数【str_db_file】文件不存在
/// -5 - 失败, 打开参数【str_db_file】的数据库失败
/// --------------------------------------------------------------------------------
int init_(const QString& str_db_file) noexcept;
/// -------------------------------------------------------------