QT + MYSQL 图书管理系统(仿)(改)(前言)

原版地址

相关工具  软件  及环境配置 见下一篇博客(有空就写)

前言 :

为了完成学校的C++课程设计以及达到本人 想要开发出一个系统这么样的一个愿景

我开始了 艰难的C++ QT 开发之旅

为什么说艰难  因为关于QT 框架的东西网上 太少了   相关的视频资料也少的可怜

再加上  本人身边没有相关从事过QT开发的同学   学习之路  异常艰辛 

主要依靠本人过人的天赋以及  学习Java 期间打下的牢固继承  

学习主要依靠 丁林松老师的网络盗版视频  官方 文档  以及图书馆里面的《QT5 开发及实例》

主要遇到的困难和踩到的坑

1.我的QT 下载是mingw×86的   我一直以为  我下载的是 64位的    而我的MYSQL 是64位的

因此我从MYSQL 目录下生成的libmysql.dll也是64位的  在加载数据库时候一直报缺少驱动的错误

我一开始一直以为是我没有在MYSQL中下载C++的驱动  然后千方百计的去向MYSQL 中添加驱动

期间在群里问过 也没人搭理,学长也有很多自己的事情要忙 我也不能太过打扰   中间几度想要放弃

重要在两天的摸索中找到了解决的方法

            注:mingw  貌似只有  32 位的

    附上QT 连接数据库的方法

    继承的类    

    #include<QSqlDatabase>

 
 
//连接MySQL数据库
    db = QSqlDatabase::addDatabase("QMYSQL");
    //设置主机名
    db.setHostName("localhost");
    //设置数据库名
    db.setDatabaseName("book_manage");
    //设置账号名
    db.setUserName("root");
    //设置密码名
    db.setPassword("root");
    //设置端口
    db.setPort(3306);
    if(!db.open()){
        QMessageBox::critical(0,QObject::tr("error"),db.lastError().text());
        return false;
    }
    return true;


2.编码错误问题

为了防止  QT乱编   在每个文件前加

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

具体解决     QT 乱码 的方式     HELP ME(MSVC)   GET HELP

3.关于SQL 语句  报错

附上QT中使用SQL语句的范例

可以广泛用于 QT报错弹窗 有益于解决  QMessageBox::critical(0,OBject::tr("error"),query.lastError().text());

QMessageBox::critical(0,QObject::tr("error"),query.lastError().text());

猜你喜欢

转载自blog.csdn.net/qq_41284464/article/details/80651010