参考文章:
https://blog.csdn.net/qq_38198744/article/details/80261695
前文说过如何在Ubuntu环境下 为PyQt5 安装MySql驱动, 这里面主要说的是如何在Windows环境下安装MySql驱动。
# -*- coding: utf-8 -*- '''
【简介】
PyQt5中 处理database 例子 ''' import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtSql import QSqlDatabase class ExecDatabaseDemo(QWidget): def __init__(self, parent=None):
super(ExecDatabaseDemo , self).__init__(parent) #self.db = QSqlDatabase.addDatabase('QSQLITE')
#self.db.setDatabaseName('./db/database.db')
# 打开数据库
#self.db.open() self.con2 = QSqlDatabase.addDatabase('QMYSQL')
self.con2.setHostName("67.209.xxx.xxx")
self.con2.setDatabaseName("mysql")
self.con2.setUserName("root")
self.con2.setPassword("xxxxxxxx")
a=self.con2.open()
print(a) def closeEvent(self, event):
# 关闭数据库
self.con2.close() if __name__ == '__main__':
app = QApplication(sys.argv)
demo = ExecDatabaseDemo()
demo.show()
sys.exit(app.exec_())
以上是具体代码,运行后总是打印 False, 这说明数据库是没有连接上的。
在windows环境下我的编程环境中该代码运行并不会提示任何的错误,这一点和Linux环境下还是有所区别的。
经过在网上查找资料发现只要找到 文件 libmySQL.dll ,这个动态库就可以搞定了, 一般安装MySql 的 可以在电脑上找到,默认的一般是C:\Program Files\MySQL\MySQL Server 5.6\lib 拷贝里面的libmysql.dll文件
python的版本如果是32位的,那就必须要找32位的libmysql文件
python的版本如果是64位的,那就必须要找64位的libmysql文件
最后一步:
把拷贝的libmysql.dll文件放到PyQt5/Qt的bin目录下,例如我的是:
C:\Users\devil\AppData\Local\Programs\Python\Python35\Lib\site-packages\PyQt5\Qt\bin
再次运行数据库连接代码,发现可以正确连接了。