相关工具 软件 及环境配置 见下一篇博客(有空就写)
前言 :
为了完成学校的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报错弹窗 有益于解决 QMessageBox::critical(0,OBject::tr("error"),query.lastError().text());
QMessageBox::critical(0,QObject::tr("error"),query.lastError().text());