注意,此方法适用与qt6.3.1版本,因为之前所收集的方法不能解决该版本的所有情况,所以这篇文章就诞生了。
目录
(2)configure.pri和qsqldriverbase.pri
1.确保必要文件
(1)libmysql.dll和libmysql.lib
在所下载好的mysql中找到libmysql.dll和libmysql.lib这两个文件
将这两个文件放入进qt中min编译器下的bin目录中
同时把libmysql.lib文件复制一份出来放到其他非中文路径中。
我是放到这里
(2)qsqlmysql.dll
要获得这个文件需要qt编译出来,而qt6.3.1版本中缺失了一些文件需要补足。
第一步
一个src是6.3.1的源文件:
这个文件可以在qt目录下的MaintenanceTool.exe程序中下载sources
二个src文件是qt6.0.3版本的
这个版本在https://download.qt.io/archive/qt/6.0/6.0.3/single/
下载tar文件就行。
第二步
从6.0.3版本的文件中找出以下文件。
(1).qmake.conf
这个文件是要放进6.3.1的qtbase里面,因为我的没有,所以报错了。如果有,可以忽略。
(2)configure.pri和qsqldriverbase.pri
这两个文件也放入到如下位置
(3) mysql.pro
将这个文件放入如下文件中
第三步
用qtcreator打开mysql.pro文件,效果如下
修改mysql.pro
修改 qsqldriverbase.pri
构建项目
如果顺利的话就能在
直接找到两个文件,
但,很遗憾的是,我第一遍成功缺无法复制出第二遍
编译器在构建的时候报错,整个语法是没问题的,应该是缺了什么东西。
但好在以上两个文件我在第一遍的时候就保存下来了
如果大家遇到和我一样的问题,或者想要省事不想编译的话
可以直接下载qsqlmysql.dll
将qsqlmysql.dll文件放入到如下文件中
然后测试
void OpeDB::init()
{
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;
m_db.setHostName("127.0.0.1"); //设置连接数据库的地此
m_db.setPort(3306);
m_db.setDatabaseName("my_online_disk"); //设置要操作的数据库
m_db.setUserName("root"); //root用户
m_db.setPassword("123456"); //密码
bool ok = m_db.open();
qDebug()<<ok;
if (ok){
qDebug()<<"ok";
}
else {
qDebug()<<"error open database because"<<m_db.isOpenError();
}
}
运行成功后输出如下
本文含有隐藏内容,请 开通VIP 后查看