Qt连接mysql数据库遇到QMYSQLdrivernotloaded
本⽂件向各位博友分享⼀下我在Qt开发过程中,连接mysql数据库时遇到的问题,以及解决的⽅法,希望对遇到同样问题的博友有所帮助。
mysql下载的vs库放在那个文件里⼯程运⾏环境:vs2015+Qt5.8
在开发过程中,编写数据库连接函数,然后运⾏代码,报以下错误:
QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
数据库连接代码整理如下:
#include "mysql.h"
bool RegisteredUi::ConnectMysql()
{
QString ipaddress = "127.0.0.1";
QSqlDatabase m_db = QSqlDatabase::addDatabase("QMYSQL"); //数据库类型
m_db.setHostName(ipaddress); //内⽹IP"192.168.1.108" //主机名localhost192.168.0.142
m_db.setDatabaseName("Original_Records"); //数据库名称Original Records
m_db.setPort(3306);
m_db.setUserName("root"); //⽤户名
m_db.setPassword("password"); //密码
if (!m_db.open())
{
QMessageBox::information(0, "连接失败",
"请确定⽹络是否连接正常,或者mysql服务器的IP是否有效!",
QMessageBox::Cancel);
return false;
}
else
{
QMessageBox::information(this, "连接成功", "mysql 数据库连接成功!");
return true;
}
}
解决⽅法:
1.先安装mysql数据库,确保数据库安装成功
2.提⽰mysql.h源⽂件不到,解决⽅法如下:
#include "mysql.h" //添加mysql.h头⽂件编译提⽰
解决⽅法:
  1. 将mysql安装⽬录下的C:\Program Files\MySQL\MySQL Server 8.0⽂件夹下的include⽂件夹拷贝到⼯程⽂件夹下,如下图:
  2. 然后右击⼯程,属性-》c/c++常规,将include添加到附加包含⽬录中,如下图所⽰:
添加完成如下图所⽰:
点击确定,应⽤重新编译⼯程,刚刚报错提⽰不到mysql.h源⽂件的错误消失了,然后realse编译代码,发现还是会报同样的错误,解决⽅法与debug模式的解决⼀样。
2. 编译虽然通过了,但是运⾏过程中会有如下提⽰:
Qt VS Tools: QML debug: Debugging project 'OriginalRecord'...
Qt VS Tools: QML debug: DISABLED: QML debugging disabled in Qt project settings
解决⽅法如下:
将mysql安装⽬录C:\Program Files\MySQL\MySQL Server 8.0下的lib⽂件夹拷贝到⼯程项⽬下,如下图所⽰:
点击项⽬右键-》属性-》链接器-》到附加库⽬录,将lib⽂件添加进去,如下图所⽰:
添加成功后如下图所⽰:
到链接器下的输⼊-》附加依赖项,然后将需要的xx.lib⽂件添加进去,如下图所⽰:
mysql需要的lib⽂件有libmysql.lib和mysqlclient.lib两个,添加后如下图所⽰:
添加完成之后重新编译项⽬,运⾏程序还是会有相同的提⽰:是因为与mysql有关的xx.dll⽂件没有添加到⼯程中。
添加拷贝libmysql.dll⽂件到⼯程同级⽬录下的x64⽂件夹中的debug和release⽂件中。也可以直接拷贝到C:\Windows\System32下⾯
写的不好,希望见谅,希望能够帮组有需要的博友解决问题。
如果以上还没有解决,将mysql安装⽬录下C:\Program Files\MySQL\MySQL Server 8.0\bin的libeay32.
dll,ssleay32.dll,libmecab.dll⽂件拷贝到⼯程同级⽬录下的x64⽂件夹中的debug和release⽂件中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。