QT连接MySQL遇到的问题及解决方法
最近在用QT做数据结构的课程设计,跟着B站上视频学了学,前面还挺好,到了连接MySQL数据库的时候遇到了问题,在CSDN,百度上查了半天,连接不上数据库的原因不同,解决方法也各不相同,尝试了一整天,QT,MySQL卸了装装了卸,最终解决问题。想在这总结一下。大家可以耐心看完所有的情况后再寻找解决方案
1.QT版本问题最初下载的版本是QT5.1,貌似不支持MySQL,用此代码打印支持的数据库
qDebug()<< QSqlDatabase :: drivers();
显示类似下面,没有MySQL
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QPSQL QPSQL7
重新下载QT5.5后,显示支持MySQL
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
但仍提示 QMYSQL driver not loaded
2.将MySQL安装路径里找到libmysql.dll文件(在MySQL安装文件的lib中,这是我的路径,D:\MySQLAdress\lib)
将其复制粘贴到QT安装路径D:\QTAdress\5.5\mingw492_32\bin,bin文件里
这里有的博客中说MySQL的安装路径中不能有空格,QT才能找到,所以我把MySQL卸载在D盘中重新装一便,如果是默认路径会有空格
3.MySQL配置环境变量,重新安装后需要配置环境变量,在命令行中输入
mysql -uroot -p
如果提示不是内部命令之类的则需要配置环境变量,如何配置可以看一下B站上这个视频,这个视频三十分钟,前面是MySQL的下载安装,中间有如何配置环境变量,后面没用到就没看
点这前往视频哔哩哔哩
4.QT 和MySQL位数不匹配,QT为32位,MySQL为64位
可以重新安装32位MySQL,或者MySQL去官网
点击前往MySQL官网
下载32位MySQL的压缩包(ZIP文件),将压缩包里的libmysql.dll文件复制粘贴到QT安装路径D:\QTAdress\5.5\mingw492_32\bin,bin文件里即可,这样不需要重装MySQL
libmysql.dll文件在
C:\Users\用户名\Desktop\mysql-5.7.29-win32\lib
因为我解压在桌面所以是C:\Users\用户名\Desktop\...
如何查看QT和MySQL的位数:
QT比较简单,安装路径就能看到
D:\QTAdress\5.5\mingw492_32\bin
这里有32
MySQL:在MySQL command 中输入
mysql> show variables like '%version_%';
即可看到