Qt5使用QSqlQuery读写sqlite3数据库

本文详细介绍了如何在Qt5环境下利用QSqlQuery进行sqlite3数据库的增删改查操作。首先,文章概述了项目背景和对C++11的支持需求,接着说明了在Qt creator的.pro文件中启用QT += sql模块的必要性。接着,功能部分展示了QSqlQuery执行SQL语句的各种功能。文章以清晰的步骤指导读者如何初始化、执行操作和关闭数据库连接,并提供了`sqlite_assistant.h`和`sqlite_assistant.cc`两个关键源文件的介绍。最后,给出了调用示例,包括包含头文件、调用代码及其执行结果,帮助读者理解并应用到实际项目中。

概述

  • 本文将介绍使用 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

功能

  • 执行sql语句: 增加、删除、修改、查询

使用顺序

  • 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;

  
        ///  -------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值