博主环境如下:
VS2015 32位 (VS下载地址(官网):https://visualstudio.microsoft.com/zh-hans/downloads/)
Qt插件为Qt5 (Qt插件下载地址(官网):https://marketplace.visualstudio.com/items?itemName=havendv.QtPackage)
QT5.6.1 32位(QT下载地址(官网):http://download.qt.io/official_releases/qt/)
MySQL5.7.15 64位(MySQL下载地址(官网):https://dev.mysql.com/downloads/mysql/)
官网大多都是最新版的,可能找不到低版本的,这个可以自行寻找。我整理的安装包下载地址如下:
链接:https://pan.baidu.com/s/1rGqS2rVQJmL2rSVvLkSK1Q
提取码:pve5
针对不同版本和机位可能环境配置有差,注意一下(我同学用的mysql32位的安装比较顺利)。环境配置问题很糟心哈。
1.文件—>新建—>项目—>Qt APPlication项目,点击确定。(我项目的名称为qttomysql)
2.点击下一步。
3.勾选SQL,点击下一步。
4.点击Finish。
5.首先我打开main.cpp,出现以下错误“无法打开源文件 “QtWidgets/QApplication””
解决办法:
右击项目—>属性—>C/C++—>常规—>附加包含目录,添加Qt目录下的msvc*_64\include,点击确定,点击确定。
6.点击qttomysql.h,出现以下错误“无法打开源文件“ui_qttomysql.h””
解决方法:
右击qttomysql.ui,点击编译,编译结果如下图。然后把生成的ui_qttomysql.h拖移到Header Files文件目录下。
7.qttomysql.cpp代码如下:(注:其他代码不变,在注释中有创建表和插入表数据的操作,其中用到了qDedug,qDedug用法详情请见备注)
#include "qttomysql.h"
#include
#include
#include
#include
#include
qttomysql::qttomysql(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
//添加mysql数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
//链接数据库
db.setHostName("localhost");
db.setDatabaseName("rmidb");
db.setUserName("root");
db.setPassword("123456");
//打开数据库
if (!db.open())
QMessageBox::warning(NULL, QStringLiteral("提示"), "open ok", QMessageBox::Yes);
else
QMessageBox::warning(NULL, QStringLiteral("提示"), "open failed", QMessageBox::Yes);
//创建表
//QSqlQuery *query = new QSqlQuery("", db);
//const QString createDB = "create table student(id int primary key,name varchar(100),age int ,score int)"; //success
//if (query->exec(createDB))
// qDebug() << "Create student Successful";
//else
// qDebug() << "Create student Fail";
//插入
//QSqlQuery *query1 = new QSqlQuery("", db);
//const QString createDB = "insert into student(id,name,age,score) values(1,'xiawang',20,59)"; //success
//if (query1->exec(createDB))
// qDebug() << "insert student Successful";
//else
// qDebug() << "insert student Fail";
db.close();
}
qttomysql::~qttomysql()
{
}
8. 数据库的库:libmysql.dll、libmysql.lib(我的在目录:E:\mysql\mysql-5.7.15-winx64\lib下)复制到Qt中的位置msvc*_64\bin目录下(E:\Qt\5.6.3\msvc2015_64\bin)
如果在后面运行后出现:driver not loaded问题,这很有可能是 qt的机位与mysql机位不兼容(我的就是)。去mysql官网https://dev.mysql.com/downloads/connector/cpp/下个mysql-connector-c-6.1.6-win32.zip,解压之后在lib目录中找到libmysql.dll,然后拷贝到qt的安装路径E:\Qt\5.6.3\msvc2015_64\bin下。
9.运行成功截图:
关于windows下Qt报告“QMYSQL driver not loaded”的解决办法
也可以参考如下链接:
https://blog.csdn.net/gufengys/article/details/61430419?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
VS+QT使用qDebug()的设置
解决方法:
想在QT程序中使用qDebug()<< ,需要有头文件和参数才可以。
首先要包含头文件:#include
然后:配置属性->C/C++ ->预处理器(第三项) ->预处理定义(第一项)
在新的一行中添加Console 就可以了。
Qt——错误总结
https://blog.csdn.net/weixin_43042683/article/details/106679989