Qt实战笔记-从零开始搭建一套库存管理系统-(四)数据库的连接、读写

本文介绍了如何使用Qt连接SQLite数据库,包括初始化数据库、建立数据表、写入和读取数据。通过实例展示了从创建数据库连接到实现用户注册、登录功能的全过程,涉及信号与槽机制的应用,以及逻辑优化。
摘要由CSDN通过智能技术生成

那上一章节我们已经把最基本的UI框架搭建好了,这一章节我们尝试连接数据库,实现一些最基本的和数据相关的功能,比如注册和登录。

1、连接数据库

Qt中的Qt SQL模块提供了对数据库的支持,在使用Qt SQL模块中的这些类之前,需要在项目文件(.pro文件)中添加QT += sql这一行代码。

Qt支持的数据库类型有很多,我们这里选择了SQLite数据库,这是一个很轻量级的文本型数据库,Qt对它提供了很好的支持,当然也可以选择其他的数据库,比如MYSQL,SQL Server等。

考虑到复杂度,我们暂时将数据库部署到本地,后续可以探索通过网络访问数据库服务器的方式。

我们还是新建一个类,文件->新建文件或项目->文件和类->C++->C++ Class,类名称我这里设置为mySqlite,基本类为自定义。

sql呢最开始肯定得要先被初始化,在头文件mysqlite.h中,我们在mySqlite这个类中添加一个public函数 bool initSql(),用来初始化数据库,记得添加头文件QSqlDatabase,内容如下:

#ifndef MYSQLITE_H
#define MYSQLITE_H

#include <QSqlDatabase>

class mySqlite
{
public:
    mySqlite();
    bool initSql();
};
#endif // MYSQLITE_H

在mysqlite.cpp中,我们把initSql()函数体的内容补充完整;

bool mySqlite::initSql()
{
    QSqlDatabase myDB = QSqlDatabase::addDatabase("QSQLITE");
    myDB.setDatabaseName(QApplication::applicationDirPath() + "/Database/"+"myWMS.db");
    if(!myDB.open())
    {
        return false;
    }
    return true;
}

sql初始化实际上需要干两件事,一是先创建一个SQLite数据库连接,二是需要创建数据表。

我们现在已经创建了一个SQLiteL连接,db文件我们命名为myWMS.db,目录为Database,注意需要提前在可执行程序的目录内建立好Database这个文件夹,不然会连接失败。

接下来,我们在mainwindow中新建一个mySqlite实例,并调用它的initSql函数。

我们在mainwindow.h中增加一个成员mySqlite *mysql,在mainwindow的构造函数中,增加如下内容:

mysql = new mySqlite;
    if(mysql->initSql())
        qDebug()<<"连接成功";
    else
        qDebug()<<"连接失败";

这里我们用了qDebug函数来打印输出结果,方便调试,使用之前记得加上头文件#include <QDebug>。

运行之后,我们会在Qt Creator的输出面板中看到,显示连接成功,证明我们的数据库已经连接上了,我们打开项目的debug目录,也可以看到目录中增加了一个数据库文件。

2、建立数据表格

刚才已经说过了,数据库的初始化需要连接数据库,建立表格,数据连上了,接下来就得建立咱们需要的数据表了&

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值