# PyQt5连接数据库MYSQL

PyQt5连接MYSQL的巨坑 艾瑞巴蒂看过来

PyQt5作为界面可视化工具,必然是要与数据库连接,
当然PyQt5只有一个但是数据库有很多种,我用的是MYSQL,可能是因为MYSQL快捷吧 可以直接cmd窗口进行操作,不需要下载什么可视化工具来操作数据库

连接PyQt5

在这里插入图片描述

如上图所示 连接MYSQL的时候 在第9行报了错
Cannot mix incompatible Qt library version 0x50b02 with this library version 0x50c09

以上就是报错提示,大致意思是调用QT库的时候有两个QT所以调用冲突了
但是 回过头来想想 我就一个导入语句 from PyQt5.QtSql import QSqlDatabase
怎么会出现两个冲突呢?
我经过一天一夜的查找,在这过程中真的是猛男落泪,
Anaconda、PyQt5这两个东西我是卸了又装,装了又卸,真的要吐了

最后我感觉是不是版本除了问题****

巧了还真是

接下来就是
重点!!
重点!!
重点!!

把原来的版本PyQt5 5.12.3 卸载后装上了 5.12.1
把原来的版本PyQt5 5.12.3 卸载后装上了 5.12.1
把原来的版本PyQt5 5.12.3 卸载后装上了 5.12.1

问题解决

在这里插入图片描述
以上就是我这一天来的血泪模糊的教训,有哪里欠佳的欢迎提出

PyQt5连接MySQL数据库,需要使用到`PyQt5.QtSql`模块中的`QSqlDatabase`类以及第三方库如`pymysql`或`mysql-connector-python`。以下是一个连接MySQL数据库的基本步骤: 1. 首先确保安装了连接MySQLPython库,如`pymysql`或`mysql-connector-python`。 2. 导入必要的模块。 3. 创建数据库连接。 4. 打开数据库连接,并输入正确的数据库服务器信息。 5. 连接到指定的数据库。 6. 执行数据库操作。 7. 断开连接并清理资源。 下面是一个简单的示例代码: ```python import sys from PyQt5.QtSql import * from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QMessageBox # 创建数据库连接 def create_connection(): # 创建一个数据库对象 db = QSqlDatabase.addDatabase('QMYSQL') # 设置数据库连接信息 db.setHostName('localhost') db.setDatabaseName('your_database_name') # 你的数据库名 db.setUserName('your_username') # 你的用户名 db.setPassword('your_password') # 你的密码 db.setPort(3306) # 默认端口号是3306 # 尝试打开连接 if not db.open(): QMessageBox.warning(None, "Error", "Database connection failed: " + db.lastError().text()) return False return True class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('PyQt5 MySQL') self.setGeometry(300, 300, 400, 200) # 其他初始化设置... if __name__ == '__main__': app = QApplication(sys.argv) mainWin = MainWindow() # 创建连接MySQL数据库 if create_connection(): print("Database connected") else: print("Error: Cannot connect to the database") mainWin.show() sys.exit(app.exec_()) ``` 在这个例子中,我们首先尝试创建一个数据库连接对象,并设置了主机名、数据库名、用户名和密码。然后尝试打开连接,如果成功,连接将返回True,否则会在消息框中显示错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值